将Django的管理员用户连接到模型
假设我有两个模型:将Django的管理员用户连接到模型,django,Django,假设我有两个模型: class Member(models.Model): nickname = models.CharField(max_length=128) email = models.EmailField() avatar = models.ImageField(upload_to='photos/') created_at = models.DateTimeField(auto_now_add=True) updated_at = model
class Member(models.Model):
nickname = models.CharField(max_length=128)
email = models.EmailField()
avatar = models.ImageField(upload_to='photos/')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return f'Member {self.nickname}'
class Dashboard(models.Model):
title = models.CharField(max_length=128)
owner = models.ForeignKey(Member, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
在这里,我创建了一个独特的模型,用于跟踪可以编辑仪表板的成员。我可以用Django用户来代替,避免创建我自己的模型吗?是的,你可以
作为你的相关参考
from django.conf import settings
class Dashboard(models.Model):
owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
# rest of your models
注意:您也可以从django.contrib.auth.models导入@ruddra提到的内置用户模型,但是,如果您已经扩展了auth模型,则会出现错误。简而言之,是的,您可以。只需使用from django.contrib.auth.models import User来导入用户模型并将其用作FK即可。但是,如果您已经扩展了auth模型,则会出现错误如果我要添加自定义属性,则需要从auth\u USER\u模型继承?是的。在这里你可以找到官方文件,