我有一张桌子叫“花猫”。它基本上存储了所有好玩的活动的类别名称。比如迪斯科,游泳池之类的。所以当用户创建一个竞技场,在那里他/她可以选择它所属的所有类别时,我希望这些类别被引用(很多)。
播放:
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
在同一个模型里,我有“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
我不明白为什么名字错误和我没有定义。请帮忙。谢谢您。
最佳答案
我想这是因为你有一个模型游戏定义后,一个模型游戏。所以无法解决。
可以在播放前放置PlayCat模型,也可以使用字符串作为参考
category = models.ManyToManyField('PlayCat')