#mongodb #django-nonrel #listfield
#mongodb #django-nonrel #список полей
Вопрос:
Из приведенного ниже примера в mongodb, какой способ поиска был бы предпочтительным:
from djangotoolbox.fields import ListField, EmbeddedModelField
class Post(models.Model):
...
comments = ListField(models.ForeignKey(Comment, related_name="post", null=True, blank=True), null=True, blank=True)
class Comment(models.Model):
text = models.TextField()
created_on = models.DateTimeField()
post_id = 4eaa636b600998598c000018
Ни одна из следующих работ:
posts = post.objects.filter(comments =('text', 'test'))
posts = post.objects.filter(comments =('pk', post_id))
posts = post.objects.filter(comments =('in', post_id))
Ответ №1:
Прямо сейчас существует небольшая поддержка ForeignKey в ListField.
Но я работаю над изменением этого прямо сейчас: https://bitbucket.org/emperorcezar/djangotoolbox
До сих пор у меня работает вставка объектов. post = Post (комментарии = [comment_obj]) и я сейчас работаю над поиском.
Надеюсь, это будет поддерживаться в ближайшее время, если я смогу заставить его работать, и мой запрос на извлечение будет принят.