Advertisement
araymoises

Problema Django #3

Jan 8th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.00 KB | None | 0 0
  1. ###############View##################
  2.         try:
  3.             serie = TblUsuario.objects.get(usu_username=username)
  4.             if serie is None:
  5.                 return JSONResponse({"success": False, "response": "El usuario no existe.."}, status=401)
  6.         except TblUsuario.DoesNotExist:
  7.             return JSONResponse({"success": False, "response": "El usuario no existe."}, status=401)
  8.            
  9.         serializerUser = UserSerializer(serie)
  10.  
  11.         if serializerUser.data['usu_password'] != password:
  12.             return JSONResponse({"success": False, "response": "Contraseña incorrecta."}, status=401)
  13.  
  14.         return JSONResponse(serializerUser.data)
  15.  
  16. ###############Serializers###################
  17.  
  18. class ActionUserSerializer(serializers.ModelSerializer):
  19.     acc_object = ActionSerializer(source='acc', read_only=True)
  20.  
  21.     class Meta:
  22.         model = TblAccionUsuario
  23.         fields = ('acc', 'usu', 'acc_object')
  24.        
  25. class UserSerializer(serializers.ModelSerializer):
  26.     action_user_values = ActionUserSerializer(many=True, read_only=True)
  27.  
  28.     class Meta:
  29.         model = TblUsuario
  30.         fields = ('usu_id', 'per_usu_id', 'usu_username', 'usu_password',
  31.          'usu_fec_creacion', 'usu_activo', 'usu_nombre', 'usu_          apellido1',
  32.          'usu_apellido2', 'usu_email', 'usu_fono_dijo', 'usu_fono_celular',
  33.          'action_user_values')
  34.  
  35.  
  36.  
  37.  
  38.  
  39. ################Models#########################
  40.  
  41. class TblAccionUsuario(models.Model):
  42.     acc = models.OneToOneField(TblAccion, models.DO_NOTHING, primary_key=True)
  43.     usu = models.OneToOneField('TblUsuario', models.DO_NOTHING, primary_key=True, related_name='action_user_values')
  44.  
  45.     class Meta:
  46.         managed = False
  47.         db_table = 'tbl_accion_usuario'
  48.         unique_together = (('acc', 'usu'),)
  49.  
  50. class TblUsuario(models.Model):
  51.     usu_id = models.AutoField(primary_key=True)
  52.     per_usu_id = models.IntegerField()
  53.     usu_username = models.CharField(max_length=20)
  54.     usu_password = models.CharField(max_length=128)
  55.     usu_fec_creacion = models.DateTimeField(auto_now_add=True)
  56.     usu_activo = models.BooleanField()
  57.     usu_nombre = models.CharField(max_length=50)
  58.     usu_apellido1 = models.CharField(max_length=50)
  59.     usu_apellido2 = models.CharField(max_length=50, blank=True, null=True)
  60.     usu_email = models.CharField(max_length=100, blank=True, null=True)
  61.     usu_fono_dijo = models.CharField(max_length=20, blank=True, null=True)
  62.     usu_fono_celular = models.CharField(max_length=20, blank=True, null=True)
  63.  
  64.     class Meta:
  65.         managed = False
  66.         db_table = 'tbl_usuario'
  67.  
  68. ##########Error##############
  69. sigos.models.MultipleObjectsReturned: get() returned more than one TblAccionUsuario -- it returned 2!
  70.  
  71. ########Respuesta deseada#############
  72. { #Datos del usuario
  73.     "usu_id": 52,
  74.     "per_usu_id": 1,
  75.     "usu_username": "admin",
  76.     "usu_password": "xcvcxvcxvcxv",
  77.     "usu_fec_creacion": "2018-08-13T16:23:50.968003Z",
  78.     "usu_activo": true,
  79.     "usu_nombre": "asdsadasd",
  80.     "usu_apellido1": "sdfdsfdsf",
  81.     "usu_apellido2": "dsfsdf",
  82.     "usu_email": "sdfdsfsdf@gmail.com",
  83.     "usu_fono_dijo": "+sdffsdf",
  84.     "usu_fono_celular": "+sdfdsfsdf",
  85.     "action_user_values": [ #Actions User relacionadas al usuario (esto es lo que me da error, cuando son más de uno)
  86.         {
  87.         "acc": 1,
  88.         "usu": 52,
  89.         "acc_object": {
  90.             "acc": 1,
  91.             "cat_acc": 1,
  92.             "id_accion_madre": null,
  93.             "acc_nombre": "Listar",
  94.             "acc_url": "/list",
  95.             "acc_imagen": null,
  96.             "acc_orden": 1,
  97.             "acc_mostrar": true,
  98.             "acc_activa": true,
  99.         },
  100.         {
  101.         "acc": 2,
  102.         "usu": 52,
  103.         "acc_object": {
  104.             "acc": 2,
  105.             "cat_acc": 1,
  106.             "id_accion_madre": null,
  107.             "acc_nombre": "Crear",
  108.             "acc_url": "/new",
  109.             "acc_imagen": null,
  110.             "acc_orden": 2,
  111.             "acc_mostrar": true,
  112.             "acc_activa": true,
  113.         }
  114.     ]
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement