mongedb 上的 Django-nonrel 列表字段查找

发布于 2024-12-13 02:40:47 字数 631 浏览 1 评论 0原文

从下面 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))

From the below example on mongodb, what would be preferred way for lookup:

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  

Neither one of following works:

posts = post.objects.filter(comments =('text', 'test'))
posts = post.objects.filter(comments =('pk', post_id))
posts = post.objects.filter(comments =('in', post_id))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

在风中等你 2024-12-20 02:40:47

目前,ListField 中几乎不支持外键。

但是,我现在正在努力改变这一点: https://bitbucket.org/emperorcezar/djangotoolbox

到目前为止,我已经可以插入对象了。 post = Post(comments = [comment_obj]) 现在正在进行查找。

希望如果我能让它工作并且我的拉取请求被接受,这将很快得到支持。

Right now there is little support for a ForeignKey in a ListField.

But, I'm working on changing this right now: https://bitbucket.org/emperorcezar/djangotoolbox

So far I have inserting objects working. post = Post(comments = [comment_obj]) and am working on lookups right now.

Hopefully this will be supported soon if I can get it working and my pull request is accepted.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文