从模型中显示(在模板中)选择 - Django

     2023-02-24     77

关键词:

【中文标题】从模型中显示(在模板中)选择 - Django【英文标题】:Display (in Template) choice from Model - Django 【发布时间】:2018-10-19 02:29:48 【问题描述】:

我需要从模板调用模型中的选择字段。models.py

...
CAT = (
    ("1", "1"),
    ("2", "2"),
)
cat = models.CharField(max_length=2, choices=TYPE, default="")
...

views.py

def cat(request):
    my_model = Model.objects.all()
    return render(...'post': post)

template.html

% for i in my_model%
     i.cat  
    # This shows DUPLICATES if I have couple posts with same cat. 
    # I want to display uniques in choices (I am not interested in posts at all)
% endfor %

那么我怎样才能从模板中调用模型中的选项而不显示重复项?

P.S:我浏览了选择文档,没有任何帮助:https://docs.djangoproject.com/en/2.0/ref/models/fields/#choices

【问题讨论】:

在视图中:my_model = Model.objects.values('cat').distinct() 和模板 % for i in my_model % i.cat % endfor % 【参考方案1】:

这对我有用。从模型传递到模板下拉列表

模型.py

Class MyCategory(models.Model):
 CAT_CHOICES=(
    ('1','1'),
    ('2','2'),
    )

  category=models.charField(max_length=2,choices=CAT_CHOICES)

views.py

def view_category(request):
     category_choices=MyCategory.CAT_CHOICES
     template_name='your_template.html'
     context='category':category_choices
     return render(request,template_name,context)

模板

<html>
    <head>
        <title>category</title>
    </head>
    <body>

    <select name="category">
       %for mykey,myvalue in category %
            <option value="mykey">myvalue</option>
        %endfor%
     </select>

    </body>

</html>

【讨论】:

【参考方案2】:

@TommyL 说:views.py

my_model = Model.objects.values('cat').distinct()

template.html:

% for i in my_model % 
     i.cat  
% endfor %

这个解决方案适合我

【讨论】:

【参考方案3】:

如果你只是想在那里选择,你不需要查询数据库,只需在上下文中传递CAT 选择。

def cat(request):
    my_model = Model.objects.all()
    return render(...'post': post, 'cats': Model.CAT)

然后在你的模板中循环cats

% for item in cats %
     item.0   item.1 
% endfor %

【讨论】:

【参考方案4】:

我以为您问的是如何在模板中显示值。 因此,如果您想从您的模型中获取 cat,这应该适用于 values_list()distinct()

def cat(request):
    my_model = Model.objects.values_list('field_name').distinct()
    return render(...'my_model': my_model)

【讨论】:

我想调用从模板到模型的选择,很抱歉在我的问题结尾处混淆了句子:( 你能用你尝试过的真实值和预期输出的例子来编辑你的问题【参考方案5】:

您可以在查询中使用 .distinct(),例如:

Model.objects.all().distinct()

见:https://docs.djangoproject.com/en/2.0/ref/models/querysets/#distinct

【讨论】:

在他的例子中:Model.objects.values('cat').distinct()

Django 1.11 如何从保存在 CMS 站点模型中的 HTML 中显示模板变量

】Django1.11如何从保存在CMS站点模型中的HTML中显示模板变量【英文标题】:Django1.11HowtodisplaytemplatevariablefromwithinHTMLsavedinmodelforCMSSite【发布时间】:2018-01-2510:03:27【问题描述】:在模板中,我需要从保存在模型实例中的HTML内容呈... 查看详情

如何让下拉选择从 Django 模型中填充模板中的 DataTables 表?

】如何让下拉选择从Django模型中填充模板中的DataTables表?【英文标题】:HowtohavedropdownselectionpopulateDataTablestableintemplatefromDjangomodel?【发布时间】:2018-08-2710:11:48【问题描述】:希望我能得到一些帮助。我基本上在我的网站上有... 查看详情

Django - 不使用表单或模型表单时在模板中呈现模型选择

】Django-不使用表单或模型表单时在模板中呈现模型选择【英文标题】:Django-RenderingModelChoicesintemplatewhennotusingFormsorModelForms【发布时间】:2018-07-1410:37:27【问题描述】:我创建了一个模型,其中一个字段有选择。我在模板中创建... 查看详情

使用for循环将图像从django模型显示到模板

】使用for循环将图像从django模型显示到模板【英文标题】:displayimagefromdjangomodeltotemplateusingforloop【发布时间】:2020-09-2103:40:46【问题描述】:所以我想在表格中显示从产品模型到模板的产品图像,但是我编写的下面的代码在图... 查看详情

如何使用 django rest 框架在模板中获取模型选择字段名称而不是 id

】如何使用djangorest框架在模板中获取模型选择字段名称而不是id【英文标题】:HowtogetModelChoiceFieldnameinsteadofidintemplateusingdjangorestframework【发布时间】:2017-01-0420:04:04【问题描述】:我在模板中获得了选择字段的ID。但我希望显示... 查看详情

没有在 html 模板 django 中显示模型值

】没有在html模板django中显示模型值【英文标题】:notshowinfmodelsvalueinhtmltemplatedjango【发布时间】:2020-08-2211:31:21【问题描述】:我刚刚创建了一个应用程序,其中我创建了一个名为Quizz的数据库。用户来网站上进行测试。答案和... 查看详情

如何向 Django 模型添加额外数据以在模板中显示?

】如何向Django模型添加额外数据以在模板中显示?【英文标题】:HowtoaddextradatatoaDjangomodelfordisplayintemplate?【发布时间】:2013-11-1418:01:17【问题描述】:我的Django模型:classmyModel(models.Model):myIntA=models.IntegerField(default=0)我的观点:m... 查看详情

从 3 个相互关联的表中获取数据并在模板中显示它们 - django

...网站上实施一项调查。我为此创建了3个表,下面是每个模型的sn-p:classSurvey(models.Model):klass_i 查看详情

在 django 模板中显示外键值

...无法找到合适的解决方案,或者我遗漏了什么?我有两个模型(SafetyCourse和SafetyCourseTaken)我有一个外键关系,从“安全课程采取”指向安全课程,如下所示:models.pyclassSafetyCourse( 查看详情

我们可以格式化模型表单如何在模板上的 Django 中显示吗

】我们可以格式化模型表单如何在模板上的Django中显示吗【英文标题】:CanweformatastohowtheModelFormdisplaysinDjangoontemplate【发布时间】:2015-11-2308:05:29【问题描述】:所以我使用django用户模型(来自django.contrib.auth.models导入用户)并... 查看详情

我们可以格式化模型表单如何在模板上的 Django 中显示吗

】我们可以格式化模型表单如何在模板上的Django中显示吗【英文标题】:CanweformatastohowtheModelFormdisplaysinDjangoontemplate【发布时间】:2015-11-2308:05:29【问题描述】:所以我使用django用户模型(来自django.contrib.auth.models导入用户)并... 查看详情

Django 1.6 无法在模板中显示来自模型的多对多字段

】Django1.6无法在模板中显示来自模型的多对多字段【英文标题】:Django1.6Cantdisplayamanytomanyfieldfrommodelsintemplate【发布时间】:2014-07-2821:12:05【问题描述】:我正在尝试在模板中显示来自医生模型的多对多字段。每个医生都有不止... 查看详情

从 Django 模板中显示查询集中的特定记录

...中某个字段中的值访问QuerySet的特定记录?假设我有以下模型:Parent:someFieldChild:parentFK=ForeignKey(Parent)bar=CharF 查看详情

Django模板:从模型查询集对象中提取字段

】Django模板:从模型查询集对象中提取字段【英文标题】:Djangotemplate:Extractfieldfrommodelquerysetobject【发布时间】:2016-12-1813:25:30【问题描述】:在Django模板中,我使用以下方法获取最新评论:blog.comments.all|dictsort:"created_at"|last其... 查看详情

Django - 模板中未显示注释

...题描述】:我正在尝试在我的模板中显示注释。我有两个模型(模型1和模型2),我想显示与模型1相关的模型2的数量。这是我的views.py:defmodel2_count(request,pk):model2count=models.Model1.objects.fil 查看详情

没有在模板中获取模型表单值

】没有在模板中获取模型表单值【英文标题】:Notgettingmodelformvaluesintemplate【发布时间】:2019-12-0306:58:01【问题描述】:Django用户配置文件模型表单数据没有显示在模板上,甚至没有给我一个错误!我正在学习使用用户配置文件... 查看详情

Django模型加入一对多关系以在模板中显示

】Django模型加入一对多关系以在模板中显示【英文标题】:Djangomodeljoiningaonetomanyrelationshipfordisplayinginatemplate【发布时间】:2011-07-0322:52:02【问题描述】:不确定描述问题的最佳方式是什么。我有2个表联系人和属性。联系人表每... 查看详情

Django 模型中的下拉菜单

】Django模型中的下拉菜单【英文标题】:DropdowninDjangoModel【发布时间】:2015-09-1619:16:48【问题描述】:我想在Djangomodels.py中创建一个字段,该字段将呈现为下拉列表,用户可以从中选择选项。如果我有5个选择:绿色蓝色红色橙... 查看详情