我的目标和困难是获取url的整数部分,然后在实现自动完成功能的表单的ModelChoiceField的forward属性中使用它。
换句话说,在我的表单中,我有一个Warehouse_product字段,在该字段中,我只想加载属于其ID的特定部分(属于URL的整数部分)的特定产品。 < / p>
我的网址
url(r'^warehouse/load/(?P<pk>\d+)/$', views.WarehouseLoadView.as_view(), name='warehouse_load'),
例如:http://example.com:9005/warehouse/load/12/
我的表格
class WarehouseHasProductForm(ModelForm):
warehouse=...
warehouse_product = ModelChoiceField(required=True,queryset=Product.objects.filter(wholesale_status=True),widget=autocomplete.ModelSelect2(url='wholesale-autocomplete',forward=['warehouse']))
class Meta:
model=Warehouse_Has_Products
fields=['warehouse_product','quantity']
def __init__(self, *args, **kwargs):
super(WarehouseHasProductForm, self).__init__(*args, **kwargs)
self.fields['warehouse_product'].label = " Επιλέξτε Προϊόν"
self.fields['quantity'].label = " Επιλέξτε Αριθμό Τεμαχίων"
def clean_quantity(self):
quantity = self.cleaned_data['quantity']
if quantity==0:
raise ValidationError('Συμπλήρωσε αριθμό τεμαχίων διάφορο του 0')
return quantity
我的模特
class Warehouse_Has_Products(models.Model):
warehouse=models.ForeignKey(Warehouse, null=True)
warehouse_product=models.ForeignKey(Product,null=True)
quantity=models.IntegerField("Τεμάχια", default=1)
如何将12放入我的WarehouseHasProductForm类中才能传递给仓库字段?
有什么想法或其他方法吗?