我有一個獨特的問題,它應該在django管理中處理。更好的方式來表示Django admin中的多對多關係管理
我有以下車型結構...
class Product(models.Model):
name = models.CharField(max_length = 100)
base_price = models.DecimalField(max_digits = 5, decimal_places = 2)
def __unicode__(self):
return self.name
class Country(models.Model):
name = models.CharField(max_length = 2)
base_price = models.DecimalField(max_digits = 5, decimal_places = 2)
def __unicode__(self):
return self.name
class CountryProduct(models.Model):
country = models.ForeignKey(Country)
product = models.ForeignKey(Product)
overriden_price = models.DecimalField(max_digits = 5, decimal_places = 2)
class Meta:
unique_together = (("country", "product"),)
如圖所示有許多產品和國家之間的多對多關係....我想爲壓倒一切的基礎價格管理界面爲特定的國家和產品。
一個選項有如下的用戶界面,這裏破折號( - )表示默認價格和數字值表示給定國家和產品的覆蓋價格。
countries -> | US | UK
products | |
---------------------------
Product1 | - | 10
Product2 | 5 | 7
但我不知道該怎麼辦....
我打開看看替代方法(包括模型結構的變化),以及只要符合要求。 ..你的任何形式的投入肯定會向我有用...
感謝提前:)
這不是一個完整的設計,只是想簡化問題,這就是以這種方式表示的原因....你是對的以這種方式呈現電網並不是一個好主意,但那只是我的一個選擇...... – 2010-02-26 06:27:48
您能否詳細說明在項目2上:動態默認?這個「覆蓋」的問題是我自己碰到的並且從來沒有感覺到舒適實施的東西。是否有任何文章可以探討這個問題('sql overrides'太籠統了,不能讓我們爲你做些什麼)。 – Koobz 2010-03-01 04:43:58
「Dynamic Default」只是一個默認值,它不是在模型中靜態定義的,而是基於當前數據,事務狀態或其他內容動態加載的。它只是一個默認值,它會在運行時動態加載到表單中。閱讀:http://docs.djangoproject.com/en/dev/ref/forms/fields/#initial – 2010-03-01 13:26:27