尝试使用 django,我正在尝试设计一个站点,该站点将引用该站点的注册用户以及非注册用户。试图找出如何最好地为此设计我的模型,我想让非注册用户能够注册并将其链接到我已经拥有的信息。我已经阅读了一些其他相关的 SO 问题,所以我知道我应该使用单独的类(已注册和未注册),但是如何使用一个外键引用 2 个不同的模型?
模型.py:
from django.db import models
from django.contrib.auth.models import User
class NonRegisteredPerson(models.Model):
first_name = models.CharField(max_length=20, default='')
last_name = models.CharField(max_length=20, default='')
email = models.EmailField(max_length=20,default='', blank=True)
class Seat(models.Model):
num = models.CharField(max_length=100, blank=True)
# For the Non Registered User
occupant = models.ForeignKey('NonRegisteredPerson')
# For the Registered User - using Built-in User
occupant = models.ForeignKey(User)
如何让“占用者”引用 NonRegisteredPerson 和 User?
不知道这是否重要,但是如果 NonRegisteredUser 注册该站点,我将处理的方式是检查他们的电子邮件是否存在于 NonRegisteredPerson 模型中,如果存在则从该模型中删除它们并添加到 Built -in 用户。
我知道这一定是一个常见的场景,但我不知道我应该在哪里或在哪里寻找这个。TIA。