2010-04-14 4 views
0

Я программирую на py с django. У меня есть модели: Редактирование ForeignKey из таблицы «child»

 
class Product(mymodels.Base): 
    title = models.CharField() 
    price = models.ForeignKey(Price) 
    promoPrice = models.ForeignKey(Price, related_name="promo_price")

class Price(mymodels.Base): value = models.DecimalField(max_digits=10, decimal_places=3) taxValue = models.DecimalField("Tax Value", max_digits=10, decimal_places=3) valueWithTax = models.DecimalField("Value with Tax", max_digits=10, decimal_places=3)

Я хочу видеть INPUT для обеих цен при редактировании продукта, но не могу найти возможности сделать это. inlines = [...] работает только от Price to Product, что в этом случае глупо.

Thanx for adnvance.

+1

Я думаю, что вам нужно сделать свою собственную форму и скажите администратору использовать. – diegueus9

+0

Думаю, вам стоит пересмотреть свои модели. Цена не кажется, что это должна быть собственная модель. У меня бы цены и promoPrice были числовые поля, а затем taxValue и valueWithTax были свойствами класса Product – Zach

ответ

0

Как насчет использования этого вместо этого?

class Product(mymodels.Base): 
    title = models.CharField() 
    price = models.DecimalField(max_digits=10, decimal_places=3) 
    tax = models.DecimalField(max_digits=10, decimal_places=3) 
    promo_price = models.DecimalField(max_digits=10, decimal_places=3) 
    promo_tax = models.DecimalField(max_digits=10, decimal_places=3) 

    def price_with_tax(self): 
     return self.price + self.tax 

    def promo_price_with_tax(self):\ 
     return self.promo_price + self.promo_tax\ 

(приписка налогов и promo_tax могут быть хорошими кандидатами, чтобы быть ForeignKeys к моделям TaxRate)

Смежные вопросы