繁体   English   中英

显示来自 Model Django 的唯一值的表格

[英]Form to show unique values from Model Django

学习 Django .. 我正在尝试设置以下内容,需要您的专家建议以使其更好..

我创建了一个 model,并在其上形成以显示数据.. 在代码之后我有两个问题需要您的建议:)

Model:

class profilestable(models.Model):
   choices = [
   ('Active','Active'),
   ('Inactive','Inactive')
   ]
   Category = models.CharField(max_length=100)
   SubCategory = models.CharField(max_length=100)
   product_name = models.CharField(max_length=100)
   Status = models.ChoiceField(max_length=20,choices=choices)

   def __str__(self):
      return self.Category

class Userlist(models.Model):
       User = models.CharField(max_length=100)
       Categorygroup = models.ForeignKey(profilestable,null=true,on_delete=models.SET_NULL)
    
       def __str__(self):
          return self.User

形式:

class userprofileform(forms.ModelForm):
   model = Userlist
   Fields = ('User','CategoryGroup')

def __init__(self,*args,**kwargs):
   super(userprofileform,self).__init__(*args,**kwargs)

配置文件表 Model 中的示例数据:

在此处输入图像描述

查询:

  1. 我想将类别、子类别和产品名称作为下拉列表添加到表单中,但是我不确定如何访问要在表单上显示的每个元素。 因为我要返回该值,所以我只能提取类别。
  2. 该列表当前有很多重复值,是否可以在下拉列表中仅显示唯一值。
  3. 此外,是否可以使其成为多选和依赖级联下拉菜单

请您帮助建议/指导实施此类表格。

太感谢了。

结构需要进行一些更改,例如category应该是sub-category的父级,然后product位于sub-category之下,因此最好在此关系中为CategorySub-categoryProduct创建一个单独的模型:

Category > Sub-category > Product由于子类别和产品与其父类别不是唯一的关系,因此使用ForeignKey字段将它们连接起来。

此外,我在您的sample data中看到,许多产品都缩小为 1 行,这在缩放、性能或订单方面都不好。

但是我看不到您的用户列表Userlist的用例。

完成上述操作后,请参考此答案来创建您的下拉菜单,尽管最后不需要区分,因为为Category创建单独的 model 将避免重复Category名称的需要。 然后在提交表单时,查询正确的CategorySub-Category实例并将其分配给表单的ForeignKey字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM