【问题标题】:how to build a voto-questions database in django?如何在 django 中建立投票问题数据库?
【发布时间】:2012-12-27 05:11:31
【问题描述】:

我想跟踪用户投票的问题和答案(上下),所以我就是这样做的,它不起作用

这是我的问题课

class Question(models.Model):
    question = models.CharField(max_length = 200)
    questionbody = models.TextField()
    questioncontent = models.TextField()
    author = models.ForeignKey(User)
    tags = models.ManyToManyField(Tag)
    timestamp = models.DateTimeField('question post date')
    upvote = models.IntegerField(default = 0)
    downvote = models.IntegerField(default = 0)
    view = models.IntegerField(default = 0)

这是我的用户档案类(扩展用户)

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    tags = models.ManyToManyField(Tag) 
    # favorite_question = models.ManyToManyField(Question)
    # upvote_question = models.ManyToManyField(Question)
    # downvote_question = models.ManyToManyField(Question)
    # upvote_answer = models.ManyToManyField(Answer)
    # downvote_answer = models.ManyToManyField(Answer)
    integration = models.IntegerField(default = 0)
    level = models.CharField(max_length = 100)

如果取消注释该行 运行 synvdb 命令会报错

 access for m2m field 'favorite-question' clashes with related m2m field 'question-userprofile_set',add a related_name argument to thr definition for 'favorite-question'

其余 4 行显示相同的错误。我真的是 django 新手,请帮助

【问题讨论】:

    标签: django django-models many-to-many user-profile vote


    【解决方案1】:

    关于错误,如果要跨模型使用相同类型的关系,则必须定义相关名称:

    例如:

    favorite_question = models.ManyToManyField(Question, related_name='favourite_question')
    

    【讨论】:

    • 我让它工作了,无论如何,谢谢,但你认为有更好的方法来做到这一点吗,我的意思是赞成和反对,有点重复,我不能只有一票,然后告诉有什么区别?
    猜你喜欢
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2011-11-10
    相关资源
    最近更新 更多