在 Django 中将多条记录作为一条记录读取
Read multiple records as one in Django
各位,我正处于 table 同名关系的一组行中间。
示例- table 看起来像
Parent_name .... Childern_name
==============
A Mittal ........ Children 1
-----------------
A Mittal ........ Children 2
-----------------
A Mittal ........ Children 3
-----------------
B Mittal .........children 1
-----------------
B Mittal .........children 2
现在我创建了一个 HTML 我只想看的地方
A Mittal
B Mittal
为此我必须在视图中定义 -
parentnames= Relationship.objects.distinct(Parent_name)
但它不工作好心的帮助。还有其他方法吗?
您可以使用 .values_list(…)
[Django-doc]:
获得 QuerySet
个 Parent_name
s
parentnames= Relationship.objects.values_list(
<b>'Parent_name', flat=True</b>
).distinct()
也就是说,通过将名称存储在 Relationship
中,您引入了 数据重复 。这使得更新名称变得更加困难。例如,如果 A Mittal
重命名为 C Mittal
,则需要进行一些查询以重命名所有存在 A Mittal
的 Parent_name
和 Child_name
。因此,人们通常会制作一个专用模型来存储有关对象的详细信息(如其名称),并使用 ForeignKey
s。这也更有效,因为默认情况下 ForeignKey
将在相应列上添加数据库索引。
各位,我正处于 table 同名关系的一组行中间。 示例- table 看起来像
Parent_name .... Childern_name
==============
A Mittal ........ Children 1
-----------------
A Mittal ........ Children 2
-----------------
A Mittal ........ Children 3
-----------------
B Mittal .........children 1
-----------------
B Mittal .........children 2
现在我创建了一个 HTML 我只想看的地方
A Mittal
B Mittal
为此我必须在视图中定义 -
parentnames= Relationship.objects.distinct(Parent_name)
但它不工作好心的帮助。还有其他方法吗?
您可以使用 .values_list(…)
[Django-doc]:
QuerySet
个 Parent_name
s
parentnames= Relationship.objects.values_list(
<b>'Parent_name', flat=True</b>
).distinct()
也就是说,通过将名称存储在 Relationship
中,您引入了 数据重复 。这使得更新名称变得更加困难。例如,如果 A Mittal
重命名为 C Mittal
,则需要进行一些查询以重命名所有存在 A Mittal
的 Parent_name
和 Child_name
。因此,人们通常会制作一个专用模型来存储有关对象的详细信息(如其名称),并使用 ForeignKey
s。这也更有效,因为默认情况下 ForeignKey
将在相应列上添加数据库索引。