Django用户模型,添加功能
Django用户模型,添加功能
我想要在Django的默认用户模型中添加一个新函数以检索相关的模型类型列表。
比如Foo模型:
class Foo(models.Model): owner = models.ForeignKey(User, related_name="owner") likes = models.ForeignKey(User, related_name="likes")
........
#at some view user = request.user foos= user.get_related_foo_models()
这该如何实现呢?
admin 更改状态以发布 2023年5月24日
这是对 @Lakshman Prasad 回答的更新。但是给出了一个完整的示例:
在任何一个你的 apps
中创建一个文件 monkey_patching.py
:
#app/monkey_patching.py from django.contrib.auth.models import User def get_user_name(self): if self.first_name or self.last_name: return self.first_name + " " + self.last_name return self.username User.add_to_class("get_user_name",get_user_name)
并在应用的 __init__.py
文件中导入它。例如:
#app/__init__.py import monkey_patching