我正在运行 Django v1.4。
我查看了源代码django.contrib.django.comments
并注意到Comment
该类有一个可选user
字段,它是 Django 的外键User
。我还扩展User
了我自己UserProfile
的user_type
字段(使用官方推荐的方法)。
我想为每个工作订单发表评论,但只允许某些user_type
能够发表评论。因此,现在我正在考虑扩展Comment
做两件事:
- 只有登录的用户才能发表评论。因此
Comment.user
必须是强制性的。 - 只有某些人
user_type
可以发表评论。
我知道我可能必须创建自己的类并继承Comment
,但我在设计中有几个问题:
Comment
我应该保留(user_name
,user_email
,user_url
, 等)的所有可选字段吗?如果是这样,我应该将它们与来自的信息一起添加User
吗?我觉得如果我添加它们,那么它违反了数据规范化。- 如何仅使用某些限制评论
UserProfle.user_type
?我知道模板中加载了注释,那么我应该如何控制模板中是否带有if
-then
块?这似乎违反了 MVC 模型设计(我觉得权限限制应该放在views.py
.
任何提示、建议和参考资料,将不胜感激。提前致谢!到目前为止,我一直在使用关于自定义评论框架的 Django 文档作为示例。