Django 阻止创建模型对象

Django 阻止创建模型对象,django,django-models,Django,Django Models,我有以下型号: from django.db import models from django.contrib.auth.models import User # Create your models here. class CommonUser(models.Model): user = models.OneToOneField(User) field = models.CharField(max_length=20) class SpecificUserA(models.Mod

我有以下型号:

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class CommonUser(models.Model):
  user = models.OneToOneField(User)
  field = models.CharField(max_length=20)

class SpecificUserA(models.Model):
  user = models.OneToOneField(CommonUser)
  field_a = models.CharField(max_length=20)

class SpecificUserB(models.Model):
  user = models.OneToOneField(CommonUser)
  field_b = models.CharField(max_length=20)
这使我能够在
SpecificUserA
SpecificUserB
之间共享信息。这并不妨碍我为一个
用户
对象创建
SpecificUserA
SpecificUserB
对象:

u = User.objects.create_user(username='user1')
u.save()

u.commonuser = CommonUser(field="user1 field data")
u.commonuser.save()

u.commonuser.specificusera = SpecificUserA(field_a="user1 field_a data")
u.commonuser.specificusera.save()

# how can I prevent this?
u.commonuser.specificuserb = SpecificUserB(field_b="user1 field_b data")
u.commonuser.specificuserb.save()

我知道我可以在创建
特定的
对象之前设置条件来检查具有特定用户名的
用户
对象是否存在,但是是否有一个检查可以捕获上述场景?

您不在此处使用模型继承的任何原因?可能不会有太大的区别,但可能会提供一个响应。我遵循的示例来自。据我所知,结果是为派生模型创建一对一字段。