Join trong Django

Mình đã làm được nhưng cảm giác cách làm cứ ngu ngu kiểu gì ấy

def get(self, request, *args, **kwargs):
        user_id = request.user
        init_context = load_init(user_id)
        context_data = []
        for a in BrandName.objects.raw('select * from products_brandname, products_category, products_country where products_brandname.category_id_id  = products_category.id and products_brandname.country_id_id = products_country.id '):
            context = [{
                'id': a.id,
                'brand_name': a.brand_name,
                'category_name': a.category_name,
                'country_name': a.country_name,
                'broand_desc': a.broand_desc,
                'broand_desc': a.broand_desc,
            }]
            context_data.extend(context)
        context_data = {
            'context_data': context_data
        }
        print(context_data)  
        init_context.update(context_data) 
        print(init_context)
        return render(request, self.template_name,init_context)

table bên html là

<tbody>
                            {%  for obj in context_data %}
                            <tr>
                                <td>{{ obj.brand_name }}</td>
                                <td>{{ obj.country_name }}</td>
                                <td>{{ obj.category_name }}</td>
                                <td>{{ obj.broand_desc }}</td>
                                <td><a href="#"><i class="fa fa-pencil"></i> Edit </a></td>
                            </tr>
                            {% endfor %}
                        </tbody>

Mong bạn góp ý về cách làm.

Thanks

Đã chỉnh sửa lúc 16:19 06/03/2021