मैं इस mysql क्वेरी को django ORM में कैसे बना सकता हूं?कई शामिल फ़ील्ड के साथ Django ORM क्वेरी
SELECT search_products.model, search_products.year, search_products.size, search_avg_price.estimated_price
FROM search_products
left JOIN search_avg_price
ON search_products.model=search_avg_price.model and search_products.size=search_avg_price.size and search_products.year=search_avg_price.year
मैं पहले से ही
latest_products = Products.objects.all().prefetch_related("avg_price")
की कोशिश की है, लेकिन इस के रूप में
SELECT `search_products`.`id`, `search_products`.`size`, `search_products`.`year`, , `search_products`.`model`, `search_products`.`avg_price_id`
FROM `search_products`
और
latest_products = Products.objects.all().select_related("avg_price")
Django द्वारा अनुवाद किया है इस के रूप में Django द्वारा अनुवाद किया है:
+०१२३५१६४१०६SELECT `search_products`.`id`, `search_products`.`size`, `search_products`.`year`, , `search_products`.`model`, `search_products`.`avg_price_id`, `search_avg_price`.`id`, `search_avg_price`.`model`, `search_avg_price`.`size`, `search_avg_price`.`year`, `search_avg_price`.`estimated_price`
FROM `search_products`
INNER JOIN `search_avg_price` ON (`search_products`.`avg_price_id` = `search_avg_price`.`id`)
अगर मैं डेटाबेस मैं उचित परिणाम प्राप्त में ऊपर एसक्यूएल चलाने ...
संपादित करें: मॉडल और विचारों
class Avg_price(models.Model):
model = models.CharField(max_length=50, blank=True)
size= models.IntegerField(blank=True, null=True)
year= models.IntegerField(blank=True, null=True)
estimated_price= models.IntegerField(blank=True, null=True)
class Products(models.Model):
product_id =models.IntegerField(blank=True, null=True)
link_id = models.CharField(max_length=200, blank=True)
location = models.CharField(max_length=200, blank=True)
model = models.CharField(max_length=50, blank=True)
size= models.IntegerField(blank=True, null=True)
price= models.IntegerField(blank=True, null=True)
year= models.IntegerField(blank=True, null=True)
type=models.ForeignKey(Type)
avg_price = models.ForeignKey(Avg_price)
def __unicode__(self): # Python 3: def __str__(self):
return self.location
खाका
{% if latest_products %}
{% for product in latest_products %}
<ul>
<li id="col_one">
<h5>{{product.avg_price.estimated_price}}</h5>
<h5>{{product.model}}</h5>
आप नहीं करते इसके लिए 'select_related' या' prefetch_related' चाहते हैं, आप अन्य मॉडल से जुड़ने के लिए फ़िल्टर का उपयोग करना चाहते हैं, एक विदेशी कुंजी या कई रिश्ते में कई मानते हैं। क्या आप अपना मॉडल कोड पोस्ट कर सकते हैं? – Tom