[英]How can I access model fields linked to another model In Model.py?
我有以下 model 时间表、预订和路线价格。
时间表 Model:
class Schedule(BaseModel):
bus_company_route = models.ForeignKey(BusCompanyRoute, on_delete=models.PROTECT)
bus = models.ForeignKey(Bus, on_delete=models.PROTECT)
travel_date_time = models.DateTimeField()
seat_discounted_price_for_travel_agent = AmountField(null=True, blank=True)
seat_discounted_price_for_user = AmountField(null=True, blank=True)
seat_discounted_price_for_foreigner = AmountField(null=True, blank=True)
representative_name = models.CharField(
max_length=20,
null=True,
blank=True
)
seat_price_for_travel_agent = AmountField(null=True, blank=True)
seat_price_for_user = AmountField(null=True, blank=True)
seat_price_for_foreigner = AmountField(null=True, blank=True)
并且时间表与 BusCompany 路线以多对一的关系链接。 所以 BusCompany 路线 model 是。
class BusCompanyRoute(BaseModel):
route = models.ForeignKey(Route, on_delete=models.PROTECT)
shift = models.ForeignKey(
Shift,
null=True,
blank=True,
on_delete=models.PROTECT
)
journey_length = models.TimeField(null=True)
bus_company = models.ForeignKey(BusCompany, on_delete=models.PROTECT)
BusCompanyRoute 与 Route Price 在一对多关系中链接。 RoutePrice Model 是一样的。
class RoutePrice(BaseModel):
bus_company_route = models.ForeignKey(BusCompanyRoute, on_delete=models.PROTECT)
bus_type = models.ForeignKey(Category, on_delete=models.PROTECT)
seat_price_for_travel_agent = AmountField(null=True)
seat_price_for_user = AmountField(null=True)
seat_price_for_foreigner = AmountField(null=True, blank=True)
现在,我想从seat_price_for_travel_agent
的计划“保存方法()” RoutePrice
seat_price_for_travel_agent 我已经来到这里。 我应该如何从 Schedule 中的RoutePrice
获取seat_price_for_travel_agent
?
def save(self, *args, **kwargs):
seat_price_for_travel_agent = self.bus_company_route.routeprice_set
现在我不知道如何进一步进行。
我解决了!
def save(self, *args, **kwargs):
self.seat_price_for_travel_agent = self.bus_company_route.routeprice_set.get(). \
seat_price_for_travel_agent
self.seat_price_for_user = self.bus_company_route.routeprice_set.get().seat_price_for_user
self.seat_price_for_foreigner = self.bus_company_route.routeprice_set.get(). \
seat_price_for_foreigner
super(Schedule, self).save(*args, **kwargs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.