Итак, у меня есть шаблон с перечнем различных товаров в корзине пользователя - я хотел бы дать пользователю возможность обновить каждый товар из этого представления. Но в зависимости от типа продукта я хотел бы отображать разные update_templates. Какой сценарий должен быть наилучшим для этой ситуации?
Следует ли использовать несколько разных UpdateViews для одной и той же модели? Например:
class ProductType1UpdateView(UpdateView):
model = CartItem
fields = '__all__'
template_name_suffix = '_product1_update_form'
class ProductType2UpdateView(UpdateView):
model = CartItem
fields = '__all__'
template_name_suffix = '_product2_update_form'
Или я должен сделать это в одном представлении и добавить несколько операторов if, которые будут отображать соответствующий шаблон в зависимости от типа продукта? Как:
class ProductUpdateView(UpdateView):
model = CartItem
fields = '__all__'
{here if statement checking product id}
template_name_suffix = '_product1_update_form'
{elif}
template_name_suffix = '_product2_update_form'
Первый вариант работает, но мне он не подходит. Как бы я сформулировал свое заявление if, чтобы сделать это со вторым вариантом? Или есть другой, лучший способ сделать это?