내 앱에서는 상점에서 제품을 만들어야합니다. 그래서 저는 모델 샵과 모델 제품을 가지고 있습니다. DetailView ShopDetail
에서 내 가게에 대한 세부 정보를 볼 수 있습니다. 이제는 제품을 만들기 위해 CreateView가 필요하지만 URL은 /shops/shop-id/products/create/
이어야하며 상점 내에 제품을 생성해야합니다. 나는 그것 같아 보인다.Django의 DetailView와 CreateView를 결합하십시오. 1.5
class ProductCreate(SingleObjectMixin, CreateView):
model = Product
def get_object(self, queryset=None):
return Shop.objects.get(id = self.kwargs['shop_id'])
나는 올바른 길 위에있다? :-D
당신이 백그라운드에서'CreateView'에서 그 관계를 설정해야합니다 있도록, Product'>'Shop''에서 FK 관계가 (기준 url에서 id를 가져 와서 수동으로 관계를 지정), 사용자가 새 인스턴스를 만들 때 관계가 저장되도록 해당 필드를 새 양식에 숨 깁니다. 또는 사용자가 양식을 게시하고 유효성을 검사 할 때 relationshop을 설정할 수 있습니다. –
Hej Timmy. 양식 데이터를 저장하기 전에 form.instance.shop 설정에 의해 form_valid에서이 문제를 처리 할 수 있음을 알고 있지만 템플릿에서 상점 이름을 얻을 수 있도록 컨텍스트 데이터를 설정해야합니다. – Nets