Есть такой код. Нужно провести сравнение, чтобы все строки были равны соответствующим. Можно сделать это как-то красивее, в цикле или что-то типа того? Заранее спасибо за помощь.
qs_cart = ECart.objects.filter(user_id=obj.user_id)
qs_delivery = EOrderDelivery.objects.filter(order_id__in=qs_cart.values('order_id'))
for idx, obj in enumerate(qs_delivery):
if idx == 0:
fields = ['city', 'country', 'flat', 'house', 'region', 'street', 'postal_code']
obj_ok = obj
id_ok = qs_cart[0].order_id
else:
if (getattr(obj, fields[0]) == getattr(obj_ok, fields[0])) and (
getattr(obj, fields[1]) == getattr(obj_ok, fields[1])) and (
getattr(obj, fields[2]) == getattr(obj_ok, fields[2])) and (
getattr(obj, fields[3]) == getattr(obj_ok, fields[3])) and (
getattr(obj, fields[4]) == getattr(obj_ok, fields[4])) and (
getattr(obj, fields[5]) == getattr(obj_ok, fields[5])) and (
getattr(obj, fields[6]) == getattr(obj_ok, fields[6])):
qs_cart.update(order_id=id_ok)