Django一对多(0..4)关系

Django一对多(0..4)关系,django,foreign-keys,one-to-many,relation,Django,Foreign Keys,One To Many,Relation,我想知道是否有办法建立一段感情 我的意思是,1个用户有0到4个设备,1个设备属于一个用户 我怎么能代表这一点?0..4可以表示,或者应该在我的程序逻辑上控制?当您创建新设备时,在clean方法中检查此用户的设备不超过4个。比如: class Device(models.Model): user = models.ForeignKey(User) # ... def clean(self): user_devices = self.user.device_

我想知道是否有办法建立一段感情

我的意思是,1个用户有0到4个设备,1个设备属于一个用户


我怎么能代表这一点?0..4可以表示,或者应该在我的程序逻辑上控制?

当您创建新设备时,在clean方法中检查此用户的设备不超过4个。比如:

class Device(models.Model):
    user = models.ForeignKey(User)
    # ...

    def clean(self):
        user_devices = self.user.device_set.all()
        if self.pk:
            # Exclude me
            user_devices = user_devices.exclude(pk=self.pk)

        if user_devices.count() >= 4:
            raise ValidationError({'user': "Cant have more than 4 devices"})

你的问题不清楚