1. 程式人生 > >獲取模型中完整的多對多資料

獲取模型中完整的多對多資料

可獲取到model中query多對多的完整資料

        query = queryset.order_by(ordering).first()
        for topic in query._meta.many_to_many:
            lista = list(topic.value_from_object(query).values_list('pk', flat=True))
            for lis in lista:
                data[lis] = TopicType.objects.filter(id=lis).first().name
            u_query[topic.name] = data

資料model轉dict

from django.forms.models import model_to_dict
query =  queryset.order_by(ordering).first()
u_query = model_to_dict(query)
print(u_query)

輸出後為query的所有資料的子層,模型中ForeignKey,OneToOneField, ManyToManyField關聯的內容只展示其id