Issue #16 Se crea la entidad en caso que no exista al agregarla a una lista
This commit is contained in:
@@ -4,8 +4,8 @@ from json.decoder import JSONDecodeError
|
||||
from django.http import JsonResponse
|
||||
from oauth2_provider.decorators import protected_resource
|
||||
|
||||
from lists.forms import ListItemForm, TagForm
|
||||
from lists.models import ListItem, Tag
|
||||
from lists.forms import ListItemForm, TagForm, EntityForm
|
||||
from lists.models import ListItem, Tag, Entity
|
||||
from users.models import User
|
||||
|
||||
|
||||
@@ -124,6 +124,20 @@ def _add_to_list(request, user):
|
||||
|
||||
list_item = ListItem(user=user)
|
||||
|
||||
if request_data.get('entity') and Entity.objects.filter(mbid=request_data['entity']).count() == 0:
|
||||
# Entity no existe en la base de datos, se crea
|
||||
data = {
|
||||
'mbid': request_data.get('entity', None),
|
||||
'entity_type': request_data.get('entity_type', None)
|
||||
}
|
||||
|
||||
entity_form = EntityForm(data)
|
||||
|
||||
if not entity_form.is_valid():
|
||||
return JsonResponse({'status': 400, 'error': entity_form.errors.as_json()}, status=400)
|
||||
|
||||
entity_form.save()
|
||||
|
||||
form = ListItemForm(request_data, instance=list_item)
|
||||
|
||||
if not form.is_valid():
|
||||
|
||||
Reference in New Issue
Block a user