我有一个模型类定义如下:环路通过两个查询集,而在Django突出差异
class Vehicle(models.Model):
stock_number = models.CharField(max_length=6)
vin = models.CharField(max_length=17)
year = models.PositiveSmallIntegerField()
manufacturer = models.CharField(max_length=15)
manufacturer_popularity = models.CharField(max_length=1, blank=True, null=True)
model = models.CharField(max_length=20)
series = models.CharField(max_length=35, blank=True, null=True)
exterior_colour = models.CharField(max_length=25)
interior_colour = models.CharField(max_length=25)
interior_type = models.CharField(max_length=25)
doors = models.PositiveSmallIntegerField()
passengers = models.PositiveSmallIntegerField()
body_style = models.CharField(max_length=30)
transmission = models.CharField(max_length=50)
fuel_type = models.CharField(max_length=50)
engine_capacity = models.DecimalField(max_digits=2, decimal_places=1)
cylinders = models.PositiveSmallIntegerField()
drive_train = models.CharField(max_length=50)
我想要做的就是基于上面的类来查询两个数据库,然后在模板中显示的数据同时以红色显示每个配对车辆条目之间的差异。该查询位并不是主要的问题,我想,因为我需要这样的东西:
set1 = Vehicle.objects.all()
set2 = Vehicle.objects.using('other_db').all()
但我怎么能已经配对,并显示被处理?我希望有人能让我看到这里的光芒。
更新1
vehicles = []
for v1 in set1:
for v2 in set2:
if v1['stock_number'] == v2['stock_number']:
vehicle1 = vehicle2 = {}
vehicle1['vehicle_1'] = v1
vehicle2['vehicle_2'] = v2
vehicles.append(vehicle1)
vehicles.append(vehicle2)
else:
vehicle1 = vehicle2 = {}
vehicle1['vehicle_1'] = v1
vehicle2['vehicle_2'] = {}
vehicles.append(vehicle1)
vehicles.append(vehicle2)
你知不知道你是否会有之间的DB的一个1:1的比例的想法?有没有一些钥匙可以用来确保你同时谈论同一辆车? – cwallenpoole
为什么我需要该视图的一部分是为了确保1比1的比例,但是,有一种关键点我猜...股票数字应该在数据库之间匹配,这就是唯一标识每条记录的唯一标识。 ..如果不是,那对将只有一个项目,无论哪个数据库有记录 –