【发布时间】:2022-01-24 18:29:19
【问题描述】:
由于我缺乏技能,我认为我过于复杂,并希望获得一个简单解决方案的输入。我正在创建一种网上商店模板。我有一份服务工作订单,我想向其中添加零件。我有一个看起来不错的模板,我可以在其中列出适合机器模型的所有部件,然后过滤它们。
一个工作订单很多零件(所以我有一个单独的类用于工作订单的所有零件对象)。因此,为了避免必须使用创建视图按零件编号更新零件编号。我尝试使用列表视图来尝试同时选择所有部分。
在我的 CBV 中,我定义了过滤并获得了一个包含所有部件的上下文“部件列表”以显示在表格中。在模板中,我创建了一个输入字段 qty。 IE。 “零件清单”中的所有零件都有一个“数量”输入字段。
在我的帖子或保存定义中,我可以简单地使用 self.request.GET 语句捕获所有输入字段数据,还是可以使用上下文“Partslist”来遍历字段?
models.py
class WorkOrderParts(models.Model):
wo_num = models.CharField(max_length=30, verbose_name='Order Number')
wo_pa_number = models.CharField(max_length=30, verbose_name='Part Number')
wo_pa_qty_def = models.DecimalField(max_digits=3,decimal_places=0,verbose_name='Qty Planned for')
class Parts(models.Model):
pa_number = models.CharField(max_length=30,verbose_name='Part Number')
pa_group1 = models.CharField(max_length=30,verbose_name='Group of Parts')
pa_group2 = models.CharField(max_length=30,verbose_name='2:nd Group of Parts')
pa_fits = ArrayField(models.CharField(max_length=20,verbose_name='models that part fit to (BRAND-MODEL)'),default=list, null=True, blank=True)
views.py
class WO_PartCreate(LoginRequiredMixin,ListView):
login_url = '/login'
template_name = 'AddPart.html'
model = WorkOrderParts
def get_context_data(self, **kwargs):
model = 'my machine model'
qs=Parts.objects.filter(pa_fits__icontains=model)
context = super().get_context_data(**kwargs)
context['Partslist'] = qs
return context
def post(self):
??? This is where I want to take all parts with input qty>0 and update new objects into WorkOrderParts.
AddPart.html
<table>
<thead>
<tr>
<th class="text-left">Part Number</th>
<th class="text-left">Quantity</th>
</tr>
</thead>
{% for item in Partslist %}
<tbody>
<tr>
<td class="text-left">
{% autoescape off %}{{item.pa_number}}{% endautoescape %}<br>
</td>
<td class="text-left">
<input type="number" method="GET" name="{{ item.pa_number }}-Qty"/>
</td>
</tr>
</tbody>
我希望我已经能够解释得足以让别人理解我。我使用表格的原因只是因为我想要显示更多的数据。
【问题讨论】:
标签: django-views django-templates