Ich arbeite mit einem Django -Modell, bei dem ich ein benutzerdefiniertes Feld order_sl zuweisen muss, das mit einem bestimmten Filter vom letzten vorhandenen Wert erhöht werden sollte.prev_ordr = Order.objects.filter(abc).values("order_sl").first()
if prev_ordr:
new_order_sl = prev_ordr.get("order_sl")
else:
new_order_sl = 100000
ins.order_sl = F("order_sl") + (new_order_sl + 1)
ins.save()
ins.refresh_from_db()
< /code>
Aber ich glaube, dieser Ansatz ist problematisch: < /p>
Es zieht den letzten Wert in Python an, anstatt ihn in der DB zu behandeln. Eindeutig, sequentiell order_sl basierend auf dem höchsten vorhandenen Wert oder einer dedizierten Sequenz. Das Feld Order_sl ist nicht der Hauptschlüssel, und ich möchte es nicht zu einem Autofield machen. Oder sollte ich select_for_update () mit einem Transaktionsblock verwenden?
Danke!
Weisen Sie ein benutzerdefiniertes Feld order_SL zu ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post