Рекурсивный удаляют в механизме приложения Google

Начиная с iOS 11 , вы можете использовать собственный фреймворк под названием PDFKit для отображения и управления PDF-файлами.

После импорта PDFKit вы должны инициализировать PDFView локальным или удаленным URL-адресом и отобразить его в своем представлении.

if let url = Bundle.main.url(forResource: "example", withExtension: "pdf") {
    let pdfView = PDFView(frame: view.frame)
    pdfView.document = PDFDocument(url: url)
    view.addSubview(pdfView)
}

Подробнее о PDFKit см. В документации Apple Developer.

6
задан Mattias Nilsson 28 June 2009 в 12:48
поделиться

3 ответа

Вам необходимо реализовать это вручную, найдя затронутые записи и удалив их одновременно с удалением родительской записи. Вы можете упростить это, если хотите, переопределив метод .delete () в родительском классе для автоматического удаления всех связанных записей.

По соображениям производительности вы почти наверняка захотите использовать запросы только по ключу (что позволит вам получить ключи сущностей, которые должны быть удалены без необходимости извлечения и декодирования фактических сущностей), и пакетное удаление. Например:

db.delete(Bottom.all(keys_only=True).filter("daddy =", top).fetch(1000))
6
ответ дан 9 December 2019 в 22:38
поделиться

На самом деле это поведение зависит от GAE. ORM Django имитирует "КАСКАД УДАЛЕНИЯ" на .delete ().

Я знаю, что это не ответ на ваш вопрос, но, возможно, он поможет вам не искать в неправильных местах.

2
ответ дан 9 December 2019 в 22:38
поделиться

If your hierarchy is only a small number of levels deep, then you might be able to do something with a field that looks like a file path:

daddy.ancestry = "greatgranddaddy/granddaddy/daddy/"
me.ancestry = daddy.ancestry + me.uniquename + "/"

sort of thing. You do need unique names, at least unique among siblings.

The path in object IDs sort of does this already, but IIRC that's bound up with entity groups, which you're advised not to use to express relationships in the data domain.

Then you can construct a query to return all of granddaddy's descendants using the initial substring trick, like this:

query = Person.all()
query.filter("ancestry >", gdaddy.ancestry + "\U0001")
query.filter("ancestry <", gdaddy.ancestry + "\UFFFF")

Obviously this is no use if you can't fit the ancestry into a 500 byte StringProperty.

1
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: