Skip to content

Commit d012e23

Browse files
committed
ADD COLUMN for med sources table
1 parent 04de6d7 commit d012e23

File tree

4 files changed

+66
-6
lines changed

4 files changed

+66
-6
lines changed

server/api/admin.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
@admin.register(MedRule)
1313
class MedRuleAdmin(admin.ModelAdmin):
1414
list_display = ['rule_type', 'history_type', 'label']
15-
filter_horizontal = ['medications', 'sources']
1615
search_fields = ['label', 'history_type', 'reason']
1716

1817

@@ -22,7 +21,7 @@ class MedicationAdmin(admin.ModelAdmin):
2221

2322

2423
@admin.register(Medication)
25-
class MedicationAdmin(admin.ModelAdmin): # noqa: F811
24+
class MedicationAdmin(admin.ModelAdmin): # noqa: F811
2625
list_display = ['name', 'benefits', 'risks']
2726

2827

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
from django.db import migrations, models
2+
import django.db.models.deletion
3+
4+
5+
class Migration(migrations.Migration):
6+
7+
dependencies = [
8+
('api', '0011_embeddings_publication_embeddings_publication_date_and_more'),
9+
]
10+
11+
operations = [
12+
migrations.CreateModel(
13+
name='MedRuleSource',
14+
fields=[
15+
('id', models.BigAutoField(auto_created=True,
16+
primary_key=True, serialize=False, verbose_name='ID')),
17+
('embedding', models.ForeignKey(
18+
on_delete=django.db.models.deletion.CASCADE, to='api.embeddings')),
19+
('medication', models.ForeignKey(
20+
on_delete=django.db.models.deletion.CASCADE, to='api.medication')),
21+
('medrule', models.ForeignKey(
22+
on_delete=django.db.models.deletion.CASCADE, to='api.medrule')),
23+
],
24+
options={
25+
'db_table': 'api_medrule_sources',
26+
'unique_together': {('medrule', 'embedding', 'medication')},
27+
},
28+
),
29+
migrations.SeparateDatabaseAndState(
30+
database_operations=[],
31+
state_operations=[
32+
migrations.AlterField(
33+
model_name='medrule',
34+
name='sources',
35+
field=models.ManyToManyField(
36+
blank=True,
37+
related_name='med_rules',
38+
through='api.MedRuleSource',
39+
to='api.embeddings'
40+
),
41+
),
42+
migrations.RemoveField(
43+
model_name='medrule',
44+
name='medications',
45+
),
46+
]
47+
),
48+
]

server/api/models/model_medRule.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ class MedRule(models.Model):
1111
history_type = models.CharField(max_length=255)
1212
reason = models.TextField(blank=True, null=True)
1313
label = models.CharField(max_length=255, blank=True, null=True)
14-
medications = models.ManyToManyField(Medication, related_name='med_rules')
14+
1515
sources = models.ManyToManyField(
1616
Embeddings,
1717
related_name='med_rules',
18-
blank=True
18+
blank=True,
19+
through='MedRuleSource'
1920
)
21+
2022
explanation = models.TextField(blank=True, null=True)
2123

2224
class Meta:
@@ -25,3 +27,14 @@ class Meta:
2527

2628
def __str__(self):
2729
return f"{self.rule_type} - {self.label}"
30+
31+
32+
class MedRuleSource(models.Model):
33+
medrule = models.ForeignKey(MedRule, on_delete=models.CASCADE)
34+
embedding = models.ForeignKey(Embeddings, on_delete=models.CASCADE)
35+
medication = models.ForeignKey(
36+
Medication, on_delete=models.CASCADE)
37+
38+
class Meta:
39+
db_table = 'api_medrule_sources'
40+
unique_together = ('medrule', 'embedding', 'medication')

server/entrypoint.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ then
1111
echo "PostgreSQL started"
1212
fi
1313

14-
python manage.py makemigrations api --no-input
15-
# python manage.py flush --no-input
14+
# python manage.py makemigrations api
15+
# # python manage.py flush --no-input
1616
python manage.py migrate
1717
# create superuser for postgre admin on start up
1818
python manage.py createsu

0 commit comments

Comments
 (0)