我正在使用Django网站,用户可以将草案法律添加到“观察列表”中,以便通知草案状态更改。目前我有两个模型由多对多关系连接:
class DraftLaw(models.Model):
'''some atributes and methods'''
class UserProfile(models.Model):
user = models.OneToOne(User)
'''some atributes and methods'''
虽然,我想允许用户添加评论,仅对他们可见,特定的草稿,他们正在观看。我唯一的想法是添加另一个类CommentToDraft,它将通过外键与DraftLaw和UserProfile类相关联,并通过过滤器访问它,尽管看起来,这在效率方面是不好的做法。 创建此类功能的最佳做法是什么?
答案 0 :(得分:0)
你的想法没问题。如果您想要更灵活的内容,我建议您使用contenttypes。我总是用它们来评论和附件。
答案 1 :(得分:0)
您的想法非常好,但如果您关心效率,请考虑自定义身份验证。我的意思是删除models.OneToOne
并使用this解决方案。
访问' UserProfile'可以花费一些额外的查询。使用AbstractBaseUser
您可以避免这种情况。
设置此解决方案非常简单:)