Django Модель, связанная с Field Clash - PullRequest
0 голосов
/ 10 сентября 2011

Рассмотрим следующую модель:

class FPModel(models.Model):
    # The user who created
    author = models.ForeignKey(auth.models.User, null=False)
    # The user who last edited
    editor = models.ForeignKey(auth.models.User, null=True)
    # Create Time
    created_at = models.DateTimeField(auto_now_add=True)
    # Modify Time
    edited_at = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True

Я буду автоматически заполнять поля автора и редактора из администратора django.

Когда я синхронизирую базу данных, я получаю следующую ошибку:

(pinax-env)gautam@Aspirebuntu:$
 python manage.py syncdb
Error: One or more models did not validate:
FP.fpmodel: Accessor for field 'author' clashes with related field 'User.fpmodel_set'. Add a related_name argument to the definition for 'author'.
FP.fpmodel: Accessor for field 'editor' clashes with related field 'User.fpmodel_set'. Add a related_name argument to the definition for 'editor'.

Я использую django 1.2.5 и pinax 0.7.2.

Что мне сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 10 сентября 2011

Я нашел ответ из документации, в частности здесь и здесь .

Я должен использовать

author = models.ForeignKey(auth.models.User , null = False ,related_name="%(class)s_related_author" ) # The user who created 
editor = models.ForeignKey(auth.models.User , null = True,related_name="%(class)s_related_editor" ) # The user who last edited
...