
Models in django:
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)
I need to select the following data from the database:
NAME (from record) and fields related with this record [NAME (from key), VALUE (from value)] [NAME (from key), VALUE (from value)] [...]
Is it possible to use django ORM for this choice? (for example, in SQL select it looks like this)
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
python django django-models django-orm
Deadly
source share