Django-поиск по списку без ссылки на mongedb

#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]) и я сейчас работаю над поиском.

Надеюсь, это будет поддерживаться в ближайшее время, если я смогу заставить его работать, и мой запрос на извлечение будет принят.