gpt4 book ai didi

python - Django foo_set 不起作用

转载 作者:行者123 更新时间:2023-11-30 22:58:28 28 4
gpt4 key购买 nike

我对 Django (v1.9.4) 有点卡住了。我创建了两个模型,Foo 和酒吧:

class Foo(models.Model):
name = models.CharField(max_length=100)
class Bar(models.Model):
foo_id = models.ForeignKey(Foo, on_delete=models.CASCADE)
title = models.CharField(max_length=300)

迁移它(sqlite3),过了一会儿就意识到它应该是

foo instead of foo_id:

foo = models.ForeignKey(Foo, on_delete=models.CASCADE)

我再次迁移了它,这次使用了 foo,但即使在更正之后我也无法使用

f = Foo.objects.filter(pk=1) 
f.bar_set.all()

有办法解决这个问题吗?

编辑。错误消息:异常类型:属性错误异常值:“Foo”对象没有属性“bar_set”

最佳答案

它不起作用,因为 filter 返回一个 QuerySet (这是一个列表),而不是一个对象。您需要使用 get 而不是 filter,因为 get 返回一个对象。

f = Foo.objects.get(pk=1)
f.bar_set.all()

关于python - Django foo_set 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36190806/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com