From 9b562850ff32d39d626ec67883be89f8ae454643 Mon Sep 17 00:00:00 2001
From: dcz <dcz@ipipan.waw.pl>
Date: Fri, 27 Oct 2023 16:40:32 +0200
Subject: [PATCH] Relational preference add bugfix.

---
 entries/views.py | 4 ++--
 unifier/views.py | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/entries/views.py b/entries/views.py
index f23519f..c9486c9 100644
--- a/entries/views.py
+++ b/entries/views.py
@@ -21,7 +21,7 @@ from connections.models import Entry, Subentry, ArgumentConnection, RealisationD
 from meanings.models import LexicalUnit
 from syntax.models import NaturalLanguageDescription, Schema
 from semantics.models import Frame, PredefinedSelectionalPreference, SelectivePreferenceRelations, SemanticRole, \
-    RoleAttribute, RoleSubAttribute
+    RoleAttribute, RoleSubAttribute, SelectionalPreferenceRelation
 
 from common.decorators import ajax_required, ajax
 from unifier.models import UnifiedFrame
@@ -1060,7 +1060,7 @@ def ajax_role_sub_attributes(request):
 @ajax(method='get', encode_result=True)
 def ajax_relations(request):
 
-    relations = [{"id": relation.plwn_id, "content": relation.name} for relation in SelectivePreferenceRelations.objects.all()]
+    relations = [{"id": relation.id, "content": relation.key} for relation in SelectionalPreferenceRelation.objects.all()]
 
     context = {
         'relations': relations,
diff --git a/unifier/views.py b/unifier/views.py
index 0ceda01..307eb20 100644
--- a/unifier/views.py
+++ b/unifier/views.py
@@ -208,9 +208,10 @@ def save_relational_selectional_preference(request):
 
         unified_frame_argument = UnifiedFrameArgument.objects.get(unified_frame_id=int(frame_id),
                                                                   id=int(complement_id_from))
-        relational_selectional_preference = UnifiedRelationalSelectionalPreference(to_id=complement_id_to,
+        relational_selectional_preference, xx = UnifiedRelationalSelectionalPreference.objects.get_or_create(to_id=complement_id_to,
                                                                                    relation_id=relation_id)
         relational_selectional_preference.save()
+
         unified_frame_argument.relations.add(relational_selectional_preference)
         unified_frame_argument.save()
 
-- 
GitLab