Django-唯一模型数据
例如:Django-唯一模型数据,django,unique,models,digital-signature,django-signals,Django,Unique,Models,Digital Signature,Django Signals,例如: class CarImage(models.Model): image = models.ForeignKey(Image) car = models.ForeignKey(Car) message = models.TextField() message = 'awesome car' for image in Image.objects.all(): for car in Car.objects.all(): if not CarI
class CarImage(models.Model):
image = models.ForeignKey(Image)
car = models.ForeignKey(Car)
message = models.TextField()
message = 'awesome car'
for image in Image.objects.all():
for car in Car.objects.all():
if not CarImage.objects.filter(
Q(image=image),
Q(car=car),
Q(message=message),
):
carimage = CarImage()
carimage.image = image
carimage.car = car
carimage.message = message
carimage.save()
有没有更有效的方法来创建基于多个字段的独特模型?签名字段会使这更好吗?或者Django Signals会解决这个问题吗?无论何时创建汽车、图像、信息,都会发送信号来创建CarImage?您可以在CarImage
模型Meta
中添加约束
字段名集,这些字段名加在一起必须是唯一的
Django将确保每当您创建CarImage
对象时,image
、car
和message
字段集合都是唯一的
class CarImage(models.Model):
image = models.ForeignKey(Image)
car = models.ForeignKey(Car)
message = models.TextField()
class Meta:
unique_together = (('image', 'car', 'message'),) # define unique_together constraint
我说的对吗?问题是您有图像和汽车表,需要根据上述两个表中的现有数据填充新表CarImage?您能提供CarImage的模型定义吗?正确,加上一些任意数据,如“消息”。我必须经常检查是否有任何图像、汽车或信息被添加到CarImage中。