chi*_*rox 1 python django django-models django-admin
我正在开发一个我有模型的项目:Client,User和Extensions,这只是为了简化.用户必须与一个客户关联才能拥有分机号码.用户可以拥有扩展名,例如100和101.与另一个客户端关联的另一个用户可以具有相同的扩展名100和101.因此,扩展在我的数据库中不是唯一的,因此它允许用户在具有两个相同的扩展号时我在管理中添加它,这是错误的.如何确定此用户中是否已包含要添加的分机号码?
class Extension(models.Model):
user = models.ForeignKey(User, verbose_name=u"User")
date_created = models.DateTimeField(auto_now_add=True, auto_now=True)
number = models.CharField(max_length=16, unique=False)
kind = models.SmallIntegerField(choices=KIND_CHOICES,default=KIND_UNKNOWN)
Run Code Online (Sandbox Code Playgroud)
User类是默认的Django类.
class Client(models.Model):
name = models.CharField(u"Nome", max_length=64)
last_update = models.DateTimeField(null=True, blank=True)
last_inbound_call = models.DateTimeField(null=True, blank=True)
last_outbound_call = models.DateTimeField(null=True, blank=True)
username = models.CharField(max_length=32)
password = models.CharField(max_length=16)
Run Code Online (Sandbox Code Playgroud)
使用Meta.unique_together上user和number在Extension.
class Extension(...):
...
class Meta:
unique_together = (('user', 'number'),)
Run Code Online (Sandbox Code Playgroud)