py, который выглядит как ниже
class Scenes(models.Model):
name = models.CharField(max_length=30)
def __str__(self):
return self.name
class Tech(models.Model):
tech = models.CharField(max_length=30)
scenario = models.ManyToManyField('Scenes')
def __str__(self):
return self.tech
class UserLog(models.Model):
tech_id = models.ForeignKey(Tech, on_delete=models.CASCADE)
....#other fields
Он генерирует одну дополнительную таблицу с именем pages_tech_scenario (pages - это имя моего приложения)
Мои заполненные таблицы в базе данных (postgres) выглядят как ниже
pages_tech_scenario
id | tech_id | scenes_id
----+---------+-----------
1 | 1 | 1
4 | 2 | 1
5 | 2 | 2
6 | 2 | 3
7 | 2 | 4
8 | 2 | 5
9 | 3 | 3
10 | 4 | 1
11 | 4 | 2
12 | 4 | 3
pages_scenes
id | name
----+----------
1 | poweron
2 | poweroff
3 | sleep
4 | wakeup
5 | switch
pages_tech
id | tech
----+------
2 | CDMA
3 | GSM
4 | 5G
1 | LTE
pages_userlog
id | data_location | pc | username | target | data_type | description | status | submission_time | upload_now | string_submission_time | tech_id_id
----+------------------------------------------------------+---------+----------+--------+-----------+-------------+-------------+-----------------------+------------+------------------------+------------
39 | C:\My Files\testFolder | lab0128 | ananagra | SDX55 | crash | | In Progress | 2020_02_12_T_17_45_04 | f | | 2
19 | C:\My Files\testFolder | lab0034 | sujaraj | SDX55 | crash | | In Progress | 2020_02_12_T_15_46_59 | f | 111 | 1
Здесь, для pages_userlog первая запись id = 39 имеет tech_id_id = 2, что эквивалентно CDMA. При вводе формы я выбрал одно из полей сценария (скажем, sleep ) CDMA (так как CDMA указывает на все 5 сценариев ios, можно увидеть из таблицы pages_tech_scenario ) ,
Как я могу получить только сценарий sleep из CDMA вместо всех сценариев ios, на которые он указывает?
Как получить идентификатор из pages_tech_scenario, указав tech_id и scenes_id?.