Моя цель и моя трудность - взять целую часть моего URL, а затем использовать ее в атрибуте forward класса ModelChoiceField моей формы, который реализует автозаполнение.
Другими словами, в моей форме у меня есть поле warehouse_product, в которое я хочу загрузить только те продукты, которые принадлежат конкретному складу, определенному по его идентификатору, который является целой частью моего URL.
мой URL
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, чтобы передать его в поле склада?
Есть идеи или другие способы?