使 Django 外键变化

时间:2021-02-06 23:29:14

标签: django django-models

我想制作处理 2 个用户的消息模型。

class User(AbstractUser):
is_confirmed = models.BooleanField(default=False, choices=((True, 'True'), (False, 'False')), blank=True)
verification = models.CharField(max_length=100, null=True, default=None, blank=True)
pass_key = models.CharField(max_length=100, null=True, default=None, blank=True)
language = models.IntegerField(default=0)

def __str__(self):
    return self.username

class Admin(User):
extra = models.CharField(max_length=50, null=True, default="")
...

class Client(User):
extra2 = models.CharField(max_length=50, null=True, default="")
...

class ChatMessage(models.Model):
sender   = models.ForeignKey(Admin, related_name = 'sender_user', on_delete=models.CASCADE)
receiver = models.ForeignKey(Client, related_name = 'receiver_user', on_delete=models.CASCADE)
message  = models.CharField(max_length = 200)
received_at = models.DateTimeField(auto_now_add = True)
session = models.ForeignKey(Session, on_delete=models.CASCADE)
is_read = models.BooleanField()

如何让发送方和接收方可以是管理员或客户端。

0 个答案:

没有答案
相关问题