Python 德扬戈外侨酒店
例如,如何选择foreignkey的多个实例Python 德扬戈外侨酒店,python,django,django-models,Python,Django,Django Models,例如,如何选择foreignkey的多个实例 class Mobile(models.Model): mobile = models.CharField(max_length=20,unique=True) quantity = models.IntegerField() imei = models.ForeignKey(Imei,on_delete=models.CASCADE) class Imei(models.Model): imei = models.
class Mobile(models.Model):
mobile = models.CharField(max_length=20,unique=True)
quantity = models.IntegerField()
imei = models.ForeignKey(Imei,on_delete=models.CASCADE)
class Imei(models.Model):
imei = models.CharField(max_length=13,unique=True)
每个手机在mobile
中都有不同的Imei
如果mobile=samsung A51
和quantity=10
则我们有10个唯一的Imei
我想知道如何让用户以相同的形式选择10个imei(带条形码阅读器)
我感谢你的帮助我想你需要的是。您的
Mobile
型号将如下所示
class Mobile(models.Model):
mobile = models.CharField()
quantity = models.IntegerField(
imei = models.ManyToManyField(Imei)
编辑:由于每个手机都有唯一的imei,因此您有两个选项来实现此目的
在将对象添加到ManyToManyField
时执行唯一验证。(我认为这将简化您的关系)
如果您真的想在db中使用此逻辑,请创建一个中间表来保存关系。您有您的Mobile
表和Imei
表。创建另一个表来存储两者的关系,比如说MobielImei
与以下字段
这个unique\u组合在一起
将确保每个移动设备都有一个唯一的imei
,单个imei
也与一个唯一的移动设备相关联。
class MobileImei(models.Model):
mobile = models.ForeignKey(Mobile)
imei = models.ForeignKey(Imei)
class Meta:
unique_together = ("mobile", "imei")