Add sources JSONField to Question model and update import functions to handle source references

This commit is contained in:
Ross
2025-10-20 12:04:10 +01:00
parent 441d33a382
commit b680ae749f
2 changed files with 30 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
# Generated by Django 5.1.4 on 2025-10-20 11:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sbas', '0019_question_title'),
]
operations = [
migrations.AddField(
model_name='question',
name='sources',
field=models.JSONField(blank=True, help_text='List of source references for the question (e.g. article DOIs or StatDx IDs or Source file names).', null=True),
),
]
+12
View File
@@ -737,6 +737,12 @@ def import_llm_questions(request):
q.best_answer = payload.get("best_answer")
if cat_obj:
q.category = cat_obj
# populate sources JSONField if provided (accept list or single string)
srcs = payload.get("sources")
if isinstance(srcs, list):
q.sources = srcs
elif srcs:
q.sources = [str(srcs)]
q.save()
# For each M2M, create missing items if allowed and attach resolved
@@ -871,6 +877,12 @@ def import_llm_confirm(request):
if isinstance(cat_val, str):
cat_obj, _ = Category.objects.get_or_create(category=cat_val)
q.category = cat_obj
# populate sources JSONField if provided (accept list or single string)
srcs = payload.get("sources")
if isinstance(srcs, list):
q.sources = srcs
elif srcs:
q.sources = [str(srcs)]
q.save()
for key, model_cls in (("finding", Finding), ("structure", Structure), ("condition", Condition), ("presentation", Presentation), ("subspecialty", Subspecialty)):