首页  >  文章  >  后端开发  >  Django Add a related_name argument to the definit

Django Add a related_name argument to the definit

高洛峰
高洛峰原创
2016-10-17 14:14:301314浏览

下面是一对多的关系模型

class Cats(models.Model):

   #...

   catnum = models.IntegerField(unique=True)

   #...


class Items(models.Model):

   catid = models.ForeignKey(Cats, to_field='catnum', db_column='catid')

   #...

Unhandled exception in thread started by

Traceback (most recent call last):

File “c:\python27\lib\site-packages\django\core\management\commands\runserver.py”, line 48, in inner_run

self.validate(display_num_errors=True)

File “c:\python27\lib\site-packages\django\core\management\base.py”, line 253, in validate

raise CommandError(“One or more models did not validate:\n%s” % error_text)

django.core.management.base.CommandError: One or more models did not validate:

beauty.items: Reverse query name for field ‘catid’ clashes with field ‘Cats.items’. Add a related_name argument to the definit

ion for ‘catid’.

发生的错误大概意思是要增加一个related_name参数,所以Items模型改为


class Items(models.Model):

   catid = models.ForeignKey(Cats, to_field='catnum', db_column='catid', related_name='catid')

   #...


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn