我有一个事件模型。事件可以有许多“演示者”。但是每个演示者都可以选择 2 种不同类型的个人资料中的一种。配置文件 1 和配置文件 2。如何允许两个配置文件进入演示者?
这将是 100% 后端生成的。也就是说,管理员将选择“演示者”。 (不知道这是否重要)。
class Profile1(models.Model):
    user = models.ForeignKey(User, null=True, unique=True)
    first_name = models.CharField(max_length=20, null=True, blank=True)
    last_name = models.CharField(max_length=20, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)
    about = models.TextField(null=True, blank=True)
    tags = models.ManyToManyField(Tag, null=True, blank=True)
    country = CountryField()
    avatar = models.ImageField(upload_to='avatars/users/', null=True, blank=True)
    score = models.FloatField(default=0.0, null=False, blank=True)
    organization = models.CharField(max_length=2, choices=organizations)
class Profile2(models.Model):
    user = models.ForeignKey(User, null=True, unique=True)
    first_name = models.CharField(max_length=20, null=True, blank=True)
    last_name = models.CharField(max_length=20, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)
    about = models.TextField(null=True, blank=True)
    tags = models.ManyToManyField(Tag, null=True, blank=True)
    country = CountryField()
    avatar = models.ImageField(upload_to='avatars/users/', null=True, blank=True)
    score = models.FloatField(default=0.0, null=False, blank=True)
...
class Event(models.Model):
    title = models.CharField(max_length=200)
    sub_heading = models.CharField(max_length=200)
    presenters = ManyToManyField(Profile1, Profile2, blank=True, null=True)  ?
    ...
    # I've also tried: 
    profile1_presenters = models.ManyToManyField(Profile1, null=True, blank=True)
    profile2_presenters = models.ManyToManyField(Profile2, null=True, blank=True)
    # is there a better way to accomplish this?...