1

尝试使用 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。

4

0 回答 0