Django Models. Отношение один к списку
На dbdiagram_io написал схему базы данных. Подскажите пожалуйста, как описать модели Django для такой структуры БД? В частности интересует момент описания поля отношения 1 к списку без дополнительной таблицы соотвествия. В данном случае mmg_datasets.files_list хранит перечень id из mmg_files. Схема:
table mmg_files {
id int [pk]
study_instance_UID varchar
path varchar
side char
projection varchar
}
table mmg_datasets {
id int [pk]
name varchar
file_list varchar[] [ref: > mmg_files.id]
comment varchar
}
table mmg_metrics {
id int [pk]
calc_type varchar // указатель на тип рассчётов- с birads|без WB3|B3|B4
metric_type varchar // указатьна тип метрики BRM|MLM|RSM
dataset_id int [ref: > mmg_datasets.id]
auc float [null]
npr float
npv float
ppr float
ppv float
recall float
specificity float
accuracy float
f1_macro float [null]
fp int
fn int
tp int
tn int
} ```
Ответы (1 шт):
Автор решения: UlisPaxton
→ Ссылка
Решение нашлось, абсолютно точно подстроиться под такую структуру БД не получилось, но логически модели выглядят так: Вполне подошло решение на основе связи ManyToMany.
class File(models.Model):
...
class Metric(models.Model):
...
dataset = models.ForeignKey('Dataset', on_delete=models.DO_NOTHING)
...
class Dataset(models.Model):
...
file_list = models.ManyToManyField(File)
...