【发布时间】:2021-10-04 22:41:24
【问题描述】:
我为此做了很多搜索,甚至观看了一些教程,其中大多数都有不同的方法,这让我质疑自己现在所做的是否正确。但是我仍然尝试根据我在这些教程中学到的知识来实现我认为是最好的方法,但我需要对此进行一些验证。这就是我到目前为止所做的。
class User(AbstractUser):
is_student = models.BooleanField(default=False)
is_tutor = models.BooleanField(default=False)
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
phone_number = models.CharField(max_length=11, blank=False, null=True)
current_address = models.CharField(max_length=100, null=True)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
class StudentProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return f'{self.user.username} Profile'
class TutorProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.CharField(max_length=255, blank=True)
def __str__(self):
return f'{self.user.username} Profile'
【问题讨论】:
-
嘿,请解释一下
different profiles?是什么意思。 -
您的意思是您需要一种通过个人资料类型来区分用户的方法?
-
看起来不错。它有什么问题?
-
@ShotikoAkhlouri 我的意思是,我希望拥有一些仅在导师的个人资料中才能找到的功能,例如收入、评级或简历。学生也有自己的个人资料,但与导师不同。对不起,如果我不清楚.. 对这些东西真的很陌生..
-
@Ersain 是的,我猜.. 我的意思是我只是想知道我是否采取了正确的方法来为多个用户创建个人资料。
标签: python django django-models orm abstractuser