2010-04-14 5 views
0

저는 장고와 함께 py에 프로그래밍 중입니다. 나는 모델을 가지고있다 : "child"테이블에서 ForeignKey 편집하기

 
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에서 Product로만 작동하며,이 경우에는 바보입니다.

고지 사항.

+1

난 당신이 당신의 자신의 양식을 만들어 사용하실 관리자에게 말할 필요가 있다고 생각합니다. – diegueus9

+0

당신의 모델을 재고해야한다고 생각합니다. 가격은 자신의 모델이어야하는 것처럼 보이지 않습니다. price와 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는 TaxRate 모델에 ForeignKeys를 할 좋은 후보가 될 수 있음)