【发布时间】:2016-12-05 00:55:19
【问题描述】:
我正在开发一个网络应用程序。这个应用程序有模型Location,可以是纽约、维也纳、巴黎等。
现在我想要一些数据结构/表来保存来自Location 对象集的任何元组的 price。
因此,如果还有 3 个对象 - NY、PA、WI,我必须存储 price 为:
NY - PA #(since there is NY - PA price, I don't have to store PA - NY which is the same)
NY - WI
PA - WI
我希望管理员能够为任何元组添加/更改价格。
我该怎么办?我想到了一些可以保存价格信息的网格,但我不知道如何在Django admin 和Django ORM 中模拟这样的网格。
到目前为止,我所做的是创建一个模型 CityPrice,如下所示:
class CityPrice(models.Model):
city_one = models.ForeignKey(City, related_name='city_tuple')
city_two = models.ForeignKey(City)
price = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True)
class Meta:
unique_together = (('city_one', 'city_two'),)
但正如您所见,那里存在多个问题。一个问题是城市不是“平等的”,一个必须是city_one,一个必须是city_two。另一个问题是Admin 必须为Django-Admin 中的每个元组新标签打开并更改那里的价格,这非常不舒服。
【问题讨论】:
标签: python django django-models django-admin django-orm