Django: related_name attribute (DatabaseError) -
i have problem models.
class message(models.model): user = models.foreignkey(userprofile) text = models.textfield(max_length=160) voting_users = models.manytomanyfield(userprofile) def __unicode__(self): return self.text and
class userprofile(models.model): user = models.foreignkey(user, unique=true) def __unicode__(self): return self.user.username i error when try call message.voting_users:
message: accessor m2m field 'voting_users' clashes related field 'userprofile.message_set'. add related_name argument definition 'voting_users'. i'm new django , don't how should use related_name attribute.
as says, voting_users, needs related_name argument because clashes defined related field, message_set (an automagic property created django first foreignkey, message.user)
http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.foreignkey.related_name
you must supply related name argument either of foreignkey / m2m fields define unique accessor reverse relationship.
for example, reverse relationship message model on userprofile userprofile.message_set. if have 2 foreignkey's you're attempting create 2 different reverse relationships same userprofile.message_set method.
user = models.foreignkey(userprofile, related_name="message_user") ... # create userprofile.message_user manager. userprofile.message_user.all() # pull message user has created. userprofile.message_set.all() # pull messages user has voted on.
Comments
Post a Comment