Ich habe zwei Modelle. Wenn ich eine Instanz von der ersten speichern möchte, muss ich einen Feldwert von diesem Modell in das Feld des anderen Felds senden.Vermeiden Sie es, eine Instanz in einem pre_save-Signal zu speichern, ohne Raise zu verwenden. Ausnahme
Erstes Modell:
class ModelOne(models.Model):
# fields...
quantity = models.FloatField()
Zweites Modell:
class ModelTwo(models.Model):
# fields...
quantity = models.FloatField()
pre_save Signal:
@receiver(pre_save, sender=ModelOne)
def verify(sender, instance, **kwargs):
# Stuff
quantity = instance.quantity
founded_model_two = ModelTwo.objects.get("""Something""")
future_result = founded_model_two.quantity - quantity
if future_result < 0:
raise Exception("Cannot be less than zero")
Ich mag die Instanz speichern zu vermeiden, aber ich will nicht, eine Ausnahme auslösen