gpt4 book ai didi

python - ManyToMany 字段引用期间的 Django NameError

转载 作者:行者123 更新时间:2023-11-28 19:36:06 25 4
gpt4 key购买 nike

我有一个名为 PlayCat 的表。它基本上存储了所有有趣事件的类别名称。例如迪斯科、游泳池等。因此,当用户创建一个 Play arena 时,我希望这些类别被引用(ManyToMany),他/她可以在其中选择它所属的所有类别。

播放:

class Play(models.Model):
shopname=models.CharField(max_length=100)
desc=models.CharField(max_length=500,blank=True, null=True)
address=models.CharField(max_length=300)
category = models.ManyToManyField(PlayCat)
url=models.URLField(blank=True, null=True)
email=models.EmailField(blank=True, null=True)
slug=models.SlugField(blank=True, null=True)
phone=models.CharField(max_length=40,blank=True, null=True)

def __unicode__(self):
return self.shopname

在相同的 models.py 中我有“PlayCat”

class PlayCat(models.Model):
cat = models.CharField(max_length=45)
def __unicode__(self):
return self.cat

我也填充了 PlayCat 数据库,但是当我添加 M2M 引用时,终端中出现错误消息说

_import__(name)
File "/home/saud/Downloads/Django-1.2.3/ms/ms/ms/sale/models.py", line 104, in <module>
class Play(models.Model):
File "/home/saud/Downloads/Django-1.2.3/ms/ms/ms/sale/models.py", line 108, in Play
category = models.ManyToManyField(PlayCat)
NameError: name 'PlayCat' is not defined

我不明白为什么 NameError 是我没有定义的。请帮忙。谢谢。

最佳答案

我猜这是因为您在模型 Play 之后定义了一个模型 PlayCat。所以无法解决。

您可以将模型 PlayCat 放在 Play 之前,也可以使用字符串作为引用

category = models.ManyToManyField('PlayCat')

关于python - ManyToMany 字段引用期间的 Django NameError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618720/

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