Join trong Django
- Tags:
- học django
Mình gặp vấn đề về join 2 bảng trong django hoặc các câu lệnh truy vấn phức tạp. Nhưng trường hợp truy vấn phức tạp mình phải dùng SQL bình thường để dùng à bạn ơi.
Trên thực tế các dự án lớn nhiều nghiệp vụ phức tạp thì sẽ dùng cái gì để truy vấn DB vậy bạn. Hình như ORM của django không đáp ứng được hết các câu lệnh
Ví dụ
class Category(models.Model):
category_name = models.CharField(max_length=30, blank=True)
category_code = models.CharField(max_length=4, blank=True)
category_desc = models.TextField(blank=True)
date_time = models.DateField(auto_now_add=True)
class Country(models.Model):
country_name = models.CharField(max_length=30, blank=True)
country_code = models.CharField(max_length=4, blank=True)
date_time = models.DateField(auto_now_add=True)
class BrandName(models.Model):
brand_name = models.CharField(max_length=30, blank=True)
category_id = models.ForeignKey(Category, on_delete=models.CASCADE)
country_id = models.ForeignKey(Country, on_delete=models.CASCADE)
broand_desc = models.TextField(blank=True)
date_time = models.DateField(auto_now_add=True)
Mình muốn chạy câu lệnh
select broand_name , category_name, country_name 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
Thì thực hiện như nào. Mong bạn trả lời