所以我已经在我的系统中实现了Auth和Profile但是我想扩展用户模型,我不知道这是什么被认为是'正确'的方式。
我只想创建一个为用户返回链接的方法,如:
<a href="URL" class="GroupName">Username</a>
我认为这可能是使用方法最好的方法,因为链接会发生变化,我不想通过修复此问题的所有模板文件。
对于使用Django的人来说这可能很常见,但是我没有太多使用它,所以我不熟悉这些惯例,所以任何建议都会很棒
答案 0 :(得分:0)
如果您不改变数据库中存储的内容,最简单的方法是代理模型。以下是文档(https://docs.djangoproject.com/en/dev/topics/db/models/#proxy-models)
中的一个示例from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class MyPerson(Person):
class Meta:
proxy = True
def do_something(self):
# ...
pass
如果你想做一些比向User模型添加方法更复杂的事情,比如添加新的数据字段,我建议创建一个与User一对一的模型。
答案 1 :(得分:0)
在Django中创建URL的常规方法是使用{% url %}
标记,而无需担心更改它们。请参阅the documentation on reversing URLs。
答案 2 :(得分:0)
我知道您是专门要求扩展用户模型但是您是否考虑过创建template tag来生成链接? 如果您只需要模板中的方法,那么这绝对是最佳选择。