Установка поля модели Django в NoneType после создания объектов (objects.create)
Я использую objects.create для создания объекта в моей модели. Использую следующую логику. Но payment_quantity (почему-то) устанавливается в NoneType. И не устанавливается в значение, которое я передал в objects.create
class PrizesExchangeModeResourceBMR(resources.ModelResource):
@transaction.atomic
def create_exchange_mode(self, code, points, price):
cuotas = [1,3,6,12] # array de cuotas
prize = Prize.objects.filter(code = code) # busca el premio
if len(prize) != 0: # si existe el premio
PrizesExchangeMode.objects.create( #crea puntos al 100%, 0 cuotas
prize = prize[0],
payment_amount = 0,
points_value = points,
payment_quantity=0,
price_value = 0
)
puntos = round(points/2)
for cuota in cuotas: # crea con puntos al 50% y [1,3,6,12] cuotas
valor = round(price/cuota)
PrizesExchangeMode.objects.create(
prize = prize[0],
payment_amount = valor,
points_value = puntos,
payment_quantity = 0.0,
price_value = 0.0)
else:
print("Premio no encontrado") # no existe el premio
def get_instance(self,instance_loader, row):
self.get_queryset().get(prize__code=row.get('prize'))
def save_instance(self, instance, using_transactions, dry_run):
code = instance.prize.code #guarda el codigo
points = instance.points_value # guarda puntos
price = instance.payment_amount # guarda precio
self.create_exchange_mode(code, points, price) # se lo pasa a la funcion anterior
class Meta:
model = PrizesExchangeMode
fields = ("prize", "points_value", "payment_amount") # Campos que queremos importar