2009-07-02 4 views
2

하나의 제품에 많은 가격이 포함될 수 있으므로 가격이 책정되는 FK가있는 제품 모델이 하나 있습니다. 그러나 나는 또한 많은 가격 중 어느 것이 실제 가격이어야 하는지를 선택할 수 있기를 원한다. 따라서 나는 이것을 달성하기 위해 가격 (제품 모델)과 제품 (가격 모델)을 모두 가지고있다. 이 다음과 같은 모델을 고려 : 나는 드롭 다운 메뉴에 가격을 필터링하는 데 문제가 있지만장고 관리자의 FK에서 동적 필터링

class Product(models.Model): 
name = models.CharField() 
price  = models.ForeignKey('Price', blank=True, null=True, related_name='Product') 

class Price(models.Model): 
amount = models.IntegerField() 
product = models.ForeignKey('Product', related_name='product') 

이 잘 작동합니다. 그것은 저에게 그 제품에 관련된 가격 대신에 모든 가격을 제공합니다. 시도했습니다

limit_choices_to 

하지만 동적 값에는 작동하지 않습니다.

는 또한이 패치를 통해 온 : http://code.djangoproject.com/ticket/2445

최적의 솔루션이 여기에 어떻게 될지 확실하지. 고마워요, 감사합니다!

+0

제품에 많은 가격이 포함될 수 있지만 그 중 하나를 선택할 수 있다는 것을 의미합니까? 나는 당신이 그걸로 무엇을하려고하는지에 대한 범위를 이해하려고 노력하고 있습니다. 그래서 나는 관련성이있는 것을 제안 할 수 있습니다. – AlbertoPL

+0

하나의 제품은 많은 가격 (FK 1, 인라인)을 가질 수 있습니다. 그러나 하나의 제품과 관련된 가격 중 하나는 상세보기 페이지에 나중에 표시되는 "기본"가격 (FK 2, 드롭 다운 메뉴)으로 선택됩니다. 나는 더 나은 설명이 되었길 바랄 뿐이다. – orwellian

답변

0

당신은 할 수 :

가격 = price.object_set_all (제품 = '제품')

나는 자신이 작동한다면 내가 기억하지 않기 때문에의 태그 '제품을'왼쪽으로 상태. 그러나 나는 라고 생각하면이 올바른 접근 방법 일 수 있습니다.

두 모델 모두에 ForeignKey가 나타나지 않아야합니다. 실제로 Price에서만 필요합니다. 그런 다음 제품 모델에 사용자 선택을 기반으로하는 current_price라는 필드가있을 수 있습니다.

+0

'ForeignKey'객체에 'object_set'속성이 없거나 'ForeignKey'객체에 'object_set_all'속성이 없습니다. price = models.ForeignKey (' Price ') prices = data.object_set_all (product ='your product ') 또한 Product 모델의 current_price 필드가 어떻게 보일지 잘 모르겠습니다. – orwellian

+0

그 이유는이 heh가 완전히 잘못되었다고 말했기 때문입니다. Product.objects.all() <- 괄호 안에 원하는 필드로 필터링 할 수 있습니다. – AlbertoPL

+0

대신 Price.objects.all()이어야합니다. 죄송합니다. – AlbertoPL

관련 문제