하나 이상의 항목을 주문할 수있는 마법사 (Django Formtools 사용)를 작성 중이며 선택한 각 항목에 원하는 수량을 지정할 수 있습니다.Django 양식 및 many2many.through 필드
나는 고전적인 카트 시스템을 피하고 구매를 가능한 한 간단하게하고 싶습니다. 내 탐색 제안은 단 3 페이지/단계로 구성됩니다.
- 첫 번째 페이지에는 사용 가능한 모든 항목이있는 양식이 표시됩니다. 해당 항목을 선택하고 방문자가 수량을 지정할 수 있습니다.
- 두 번째 페이지는 순서의 요약을하고 방문자는 세부 사항
- 마지막 페이지 내가 첫 번째 단계의 양식을 작성하는 문제에 봉착 내가 '
순서를 확인을 입력하라는 메시지가 내가 시도한 두 가지 옵션 사이의 중도를 찾을 수있는 도움을 찾고 있습니다.
class Item(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=5, decimal_places=2)
class Order(TransactionBase):
items = models.ManyToManyField(Item, through='OrderedItem')
class OrderedItem(models.Model):
order = models.ForeignKey(Order)
item = models.ForeignKey(Item)
quantity = models.PositiveSmallIntegerField()
가능한 모든 항목 목록에 내가 수있어 다음 ModelForm를 사용 :
내 장고 모델 (데모 단순화)과 같이
class OrderSelectionForm(forms.ModelForm):
class Meta:
model = Order
fields = ('items',)
widgets = {
'items': forms.CheckboxSelectMultiple(),
}
을하지만 '아무튼 수량을 지정하는 것을 허용하지 않습니다 ...
다음 코드를 사용하면 수량을 지정할 수있는 양식을 만들 수 있습니다 :
inlineformset_factory(Order, Order.items.through)
그러나 사용 가능한 모든 항목의 목록을 단순하게 표시하는 대신 원하는 항목을 선택하기 위해 드롭 다운 목록과 함께 3 세트를 보여줍니다.
수량을 지정할 수 있도록 사용 가능한 모든 항목을 나열하는 양식을 얻으려면 두 가지 승인을 어떻게 결합 하시겠습니까?
고마워요.
안녕하세요, 패키지에 대한 참조가 오타였습니다 (명확성을 위해 제 질문에서 Package로 이름을 바꾸 었습니다). – user1415785