在 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]:

获得 QuerySetParent_names
parentnames= Relationship.objects.values_list(
    <b>'Parent_name', flat=True</b>
).distinct()

也就是说,通过将名称存储在 Relationship 中,您引入了 数据重复 。这使得更新名称变得更加困难。例如,如果 A Mittal 重命名为 C Mittal,则需要进行一些查询以重命名所有存在 A MittalParent_nameChild_name。因此,人们通常会制作一个专用模型来存储有关对象的详细信息(如其名称),并使用 ForeignKeys。这也更有效,因为默认情况下 ForeignKey 将在相应列上添加数据库索引。