【问题标题】:how to hide column in django form and set foreign key value如何在 django 表单中隐藏列并设置外键值
【发布时间】:2017-11-13 18:36:07
【问题描述】:

我想在 html 页面中隐藏列 bh,所以我通过排除在 forms.py 中隐藏它并尝试在视图中使用 request.user.username 设置外键列 bh 但它给了我这个错误: 无法分配“]>”:“Bed.bh”必须是“医院”实例。

有什么办法可以解决这个问题。请帮忙!

`#forms.py

class BedForm(forms.ModelForm):
class Meta:
    model=Bed
    fields = ('bed_id','bed_type','created_date','bh',)
    exclude=('bh',)

if request.method == "POST":
    form = BedForm(request.POST)
    if form.is_valid():
            bed = form.save(commit=False)
            bed.created_date = timezone.now()
            hh = Hospital.objects.filter(hospital_id=request.user.username)
            bed.bh=hh
            bed.save()
            b = Bed.objects.filter(bh=request.user.username)

`

【问题讨论】:

    标签: python html django forms


    【解决方案1】:

    这是因为Hospital.objects.filter() 返回的是QuerySet,而不是Hospital 的实例。

    你想要这样的东西:

    hh = Hospital.objects.filter(hospital_id=request.user.username)[0]
    

    hh = Hospital.objects.get(hospital_id=request.user.username)
    

    但是,在这两种情况下,您都必须在检索对象之前检查对象是否存在,或者捕获异常,然后确定下一步该做什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2010-10-11
      • 1970-01-01
      • 2012-04-24
      • 2010-09-30
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      相关资源
      最近更新 更多