2013-08-07 2 views
-1

그래서 클래스의 인스턴스를 얻기 위해,이 내 코드는 지금 모습입니다외래 키가

지금 당장은 내 코드가 하나의 제품 만 허용하지만, 무제한 제품을 추가 할 수있는 옵션을 원합니다.

class PurchaseOrder(models.Model): 
    product = models.ForeignKey('Product') 
    vendor = models.ForeignKey('VendorProfile') 
    dollar_amount = models.FloatField(verbose_name='Price') 


class Product(models.Model): 
    products = models.CharField(max_length=256) 

    def __unicode__(self): 
     return self.products 

나는이 어떻게 할 수있는

:

여기 내 코드입니까? 아니면 오히려 이것이 가능한가?

답변

2

ForeignKey 대신 ManyToManyField을 사용하십시오.

+0

방금했는데 오류가 발생했습니다. " 'PurchaseOrderAdmin.list_display [0]', 'product'는 지원되지 않는 ManyToManyField입니다." 그러나 admin.py에서 list_display에서 'product'를 꺼내면 컴파일됩니다. 어떻게 list_display에 many-to-many 필드를 포함시킬 수 있습니까? – Mdjon26

+0

'list_display'에 대한 문서는 매우 명확합니다. "ManyToManyField' 필드는 테이블의 각 행에 대해 별도의 SQL 문을 실행해야하기 때문에 지원되지 않습니다. 그럼에도 불구하고 이렇게하려면 모델에 사용자 정의 메소드에 추가하고 그 메소드의 이름을'list_display'에 추가하십시오. ('list_display'의 커스텀 메소드에 대한 더 자세한 사항은 아래를보십시오.) "http://docs.djangoproject.com/ko/1.5/ref/contrib/admin/#django. contrib.admin.ModelAdmin.list_display –