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

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -