Я хочу включить что-то вроде отношения «один ко многим» между текстовым объектом и каплями, чтобы текстовый объект («статья» или аналогичный) имел много изображений и/или видео. Я вижу два способа сделать это, где первый использует список больших двоичных объектов в качестве переменной экземпляра. Это будет работать?
class A(search.SearchableModel):
blobs = db.ListProperty(blobstore.BlobReferenceProperty())
Преимущества: Всего один класс. Читаемый и простой для получения и установки данных. Недостатки: не хватает дополнительной информации для больших двоичных объектов, например. если я хочу пометить блоб описательными словами, мне все равно нужны два класса:
class A(search.SearchableModel):
...
class B(db.Model):
reference=db.ReferenceProperty(A,collection_name='matched_blobs',verbose_name="Title")
blob = blobstore.BlobReferenceProperty()
У более позднего примера есть недостаток, поскольку он требует свойства reference и вводит 2 класса, где проблема может быть решена только с классом A, как в первом примере. Преимущество более позднего решения заключается в том, что оно четко задокументировано, в то время как listproperty blobreferenceproperties — нет, а более позднее решение я уже реализовал, и теперь я думаю об использовании списка больших двоичных объектов вместо коллекции, на которую ссылаются. Имеет ли это значение или оба будут работать одинаково хорошо? Можете ли вы порекомендовать, какой способ выбрать, если какой-либо из этих или других?
Спасибо