【发布时间】:2017-01-29 23:25:59
【问题描述】:
我正在尝试使用 ModelForm 添加我的数据。它运行良好,除了 ForeignKey 下拉列表显示所有值,我只希望它显示与登录用户相关的值。
这些是我的模型:
class productos(models.Model):
user = models.ForeignKey(User)
secciones = models.ForeignKey(secciones)
name = models.CharField(max_length=50)
image = models.ImageField(upload_to = 'productos')
precio = models.DecimalField(max_digits=10, decimal_places=2, default=0.00)
descripcion = models.TextField(max_length=300, null=True,blank=True)
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(productos, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
#####################################################################
class secciones(models.Model):
name = models.CharField(max_length=50)
user = models.ForeignKey(User)
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(secciones, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
表格代码:
class AgregarProducto(forms.ModelForm):
class Meta:
model = productos
最后,查看代码:
def agregar_producto(request):
if request.method == "POST":
modelform = AgregarProducto(request.POST,request.FILES,user=request.user)
print modelform
if modelform.is_valid():
modelform.save()
return redirect("/editar-perfil/")
else:
modelform = AgregarProducto()
return render(request, "home/AgregarProducto.html", {"form":modelform})
如何让表单仅显示 secciones.user 等于登录用户的 secciones 子集?
【问题讨论】:
标签: django django-models django-forms django-templates django-views