使用Django 1.6.5
我在这个应用程序中的所有模型都有一个related_name ='+'但我仍然收到此错误。 Django失去了它的大理石吗?
from django.contrib.auth import get_user_model
User = get_user_model()
class StaffGroup(models.Model):
agency = models.ForeignKey(Agency)
name = models.CharField(max_length=64)
users = models.ManyToManyField(User, related_name='+')
错误消息
messaging.staffgroup: Accessor for m2m field 'users' clashes with related m2m field 'User.+'. Add a related_name argument to the definition for 'users'.
将用户更改为staff_users仍会生成相同的错误,只需更改几个单词。
messaging.staffgroup: Accessor for m2m field 'staff_users' clashes with related m2m field 'User.+'. Add a related_name argument to the definition for 'staff_users'.
答案 0 :(得分:3)
这不是一个错误,ManyToMany有关于'+'的不同语法:
您需要为每个名称指定一个唯一的名称(例如在您的员工模型中):
users = models.ManyToManyField(User, related_name='staff+')