Maison >développement back-end >Tutoriel Python >Django Add a related_name argument to the definit

Django Add a related_name argument to the definit

高洛峰
高洛峰original
2016-10-17 14:14:301344parcourir

下面是一对多的关系模型

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')

   #...


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn