Je me bouscule pour comprendre les relations dans ORM.Relations complexes avec le filtrage
Je souhaite obtenir un ensemble de requêtes CostItem distinct lié à un événement particulier.
Normalement, je filtrerais CostFixedList pour l'événement particulier qui m'intéresse et obtenir un ID Cost_Rate. De là, je pourrais obtenir l'identifiant CostItem.
Je pourrais le faire facilement en SQL, mais je ne comprends pas comment démarrer avec ORM. Est-ce que quelqu'un peut-il me montrer la bonne direction?
class Event(models.Model):
event_type = models.ForeignKey(EventType)
retailer = models.ForeignKey(Retailer)
....
class CostItem(models.Model):
name = models.CharField("Name", max_length=50, unique=True)
cost_type = models.ForeignKey(CostType, verbose_name="Type")
active = models.BooleanField("Active", default=True)
class CostRate(models.Model):
cost_item = models.ForeignKey(CostItem, verbose_name="Item")
valid_from = models.DateField("From")
valid_till = models.DateField("Till")
unit_amount = models.DecimalField("Price Per Unit", max_digits=5, decimal_places=2)
class CostFixedList(models.Model):
event = models.ForeignKey(Event)
cost_rate = models.ForeignKey(CostRate)
units = models.IntegerField()
appointment = models.ForeignKey(Appointment, null=True, blank=True)
double possible (http: //stackoverflow.com/questions/3060637/reverse-relationships-and-distinct-querysets) –
Oui. c'est un doublon. Ça n'avait pas l'air d'avoir traversé. Pardon. – alj