Improve navigating trades and positions by cross-linking

This commit is contained in:
2022-11-29 07:20:39 +00:00
parent 4e1b574921
commit f240c4b381
13 changed files with 236 additions and 34 deletions

View File

@@ -207,6 +207,20 @@ class Trade(models.Model):
# close the trade
super().delete(*args, **kwargs)
@classmethod
def get_by_id(cls, trade_id, user):
return cls.objects.get(id=trade_id, user=user)
@classmethod
def get_by_id_or_order(cls, trade_id, user):
try:
return cls.objects.get(id=trade_id, user=user)
except cls.DoesNotExist:
try:
return cls.objects.get(order_id=trade_id, user=user)
except cls.DoesNotExist:
return None
class Callback(models.Model):
hook = models.ForeignKey(Hook, on_delete=models.CASCADE)