Django ORM का चयन करें Django में
मॉडल में शामिल होने के साथ:
NAME (from record)
and fields related with this record
[NAME (from key), VALUE (from value)]
[NAME (from key), VALUE (from value)]
[...]
मैं Django ORM इस चयन बनाने के लिए उपयोग कर सकते हैं:
class Key(models.Model):
id = models.AutoField(primary_key=True, blank=True)
name = models.CharField(max_length=50)
class Record(models.Model):
id = models.AutoField(primary_key=True, blank=True)
project_id = models.IntegerField()
name = models.CharField(max_length=50)
class Value(models.Model):
id = models.AutoField(primary_key=True, blank=True)
record = models.ForeignKey(Record)
key = models.ForeignKey(Key)
value = models.CharField(max_length=255)
मैं डीबी से इस डेटा का चयन करने की जरूरत है? (उदाहरण के लिए एसक्यूएल में इस तरह दिखता है)
SELECT
`keeper_record`.`id` AS `record_id`,
`keeper_record`.`name` AS `name`,
`keeper_record`.`desc` AS `desc`,
`keeper_key`.`name` AS `key_name`,
`keeper_key`.`desc` AS `key_desc`,
`keeper_value`.`value` AS `value_value`
FROM `keeper_record`
JOIN `keeper_value` ON `keeper_record`.`id` = `keeper_value`.`record_id`
JOIN `keeper_key` ON `keeper_key`.`id` = `keeper_value`.`key_id`
WHERE record_id = id
मैंने सही ढंग से समझा है कि प्रत्येक रिकॉर्ड के लिए मूल्यों का चयन करने के लिए एक अतिरिक्त क्वेरी की आवश्यकता होती है, और यदि मैं सभी (या कुछ) रिकॉर्ड चुनना चाहता हूं तो मुझे लूप में मूल्यों का चयन करने की आवश्यकता है? – Deadly
मैंने एक से अधिक रिकॉर्ड चुनने के लिए उत्तर अपडेट किया है। आशा करता हूँ की ये काम करेगा। – Alasdair
हाँ, यह वास्तव में मुझे django ORM समझने में मदद मिली है, धन्यवाद। – Deadly