0

我正在运行 Django v1.4。

我查看了源代码django.contrib.django.comments并注意到Comment该类有一个可选user字段,它是 Django 的外键User。我还扩展User了我自己UserProfileuser_type字段(使用官方推荐的方法)。

我想为每个工作订单发表评论,但只允许某些user_type能够发表评论。因此,现在我正在考虑扩展Comment做两件事:

  1. 只有登录的用户才能发表评论。因此Comment.user必须是强制性的。
  2. 只有某些人user_type可以发表评论。

我知道我可能必须创建自己的类并继承Comment,但我在设计中有几个问题:

  1. Comment我应该保留( user_name, user_email, user_url, 等)的所有可选字段吗?如果是这样,我应该将它们与来自的信息一起添加User吗?我觉得如果我添加它们,那么它违反了数据规范化。
  2. 如何仅使用某些限制评论UserProfle.user_type?我知道模板中加载了注释,那么我应该如何控制模板中是否带有if-then块?这似乎违反了 MVC 模型设计(我觉得权限限制应该放在views.py.

任何提示、建议和参考资料,将不胜感激。提前致谢!到目前为止,我一直在使用关于自定义评论框架的 Django 文档作为示例。

4

0 回答 0