Django用户模型方法

时间:2014-04-02 19:31:40

标签: python django django-models

所以我已经在我的系统中实现了Auth和Profile但是我想扩展用户模型,我不知道这是什么被认为是'正确'的方式。

我只想创建一个为用户返回链接的方法,如:

<a href="URL" class="GroupName">Username</a>

我认为这可能是使用方法最好的方法,因为链接会发生变化,我不想通过修复此问题的所有模板文件。

对于使用Django的人来说这可能很常见,但是我没有太多使用它,所以我不熟悉这些惯例,所以任何建议都会很棒

3 个答案:

答案 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来生成链接? 如果您只需要模板中的方法,那么这绝对是最佳选择。