Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Rest框架:在模型中创建自定义方法后,字段不会被创建或更新_Python_Django_Django Rest Framework - Fatal编程技术网

Python Django Rest框架:在模型中创建自定义方法后,字段不会被创建或更新

Python Django Rest框架:在模型中创建自定义方法后,字段不会被创建或更新,python,django,django-rest-framework,Python,Django,Django Rest Framework,不是当我发出以下post请求时,它正在保存用户名和姓氏,甚至没有更新。并获取返回“”的\u name方法 下面是我的序列化程序 class UserInfo(models.Model): user_id = models.AutoField(primary_key=True) user_firstname = models.CharField(max_length=20, verbose_name = "First Name") user_lastname = m

不是当我发出以下post请求时,它正在保存用户名和姓氏,甚至没有更新。并获取返回“”的\u name方法

下面是我的序列化程序

class UserInfo(models.Model):
        user_id = models.AutoField(primary_key=True)
    user_firstname = models.CharField(max_length=20, verbose_name = "First Name")
    user_lastname = models.CharField(max_length=20, verbose_name = "Last Name")
    user_email = models.EmailField(max_length=50, verbose_name = "Email Id")
    user_dob = models.DateField(auto_now = False, auto_now_add=False, verbose_name = "Date of Birth")
    user_mobileno = models.CharField(max_length=14, verbose_name = "Contact No")
user_image = models.ImageField(upload_to = upload_location, 
    null=True,
    blank=True, 
    width_field = "width_field", 
    height_field = "height_field", verbose_name = "Profile Picture")
    width_field = models.IntegerField(default=0)
    height_field = models.IntegerField(default=0)
    user_password = models.CharField(max_length=20, verbose_name = "Password")
    user_blood_group = models.CharField(max_length=5, verbose_name = "Blood Group")
    user_location_id = models.ForeignKey(Location, on_delete=models.CASCADE, verbose_name = "Current Location")
    user_profession = models.CharField(max_length=20, verbose_name = "Profession")
    user_fb_id = models.CharField(max_length=20, verbose_name = "Facebook Contact", blank=True)
    user_random_id = models.CharField(max_length=20, verbose_name = "Registration Id")
    user_created_date = models.DateField(auto_now = True, auto_now_add=False)
    user_updated_date = models.DateField(auto_now = True, auto_now_add=False)

    def get_name(self):
        return "%s %s" % (self.user_firstname, self.user_lastname)

   def __str__(self):
            return "%s %s" % (self.user_firstname, self.user_lastname)

有人能帮忙解决这个问题吗?

根据序列化程序中定义的名称传递用于创建对象的参数,该名称将按您所需工作。请确保传递所有参数的值,这些参数不能为null。现在,如果希望用户传递参数名而不是user\u firstname&user\u lastname,则需要在创建和拆分name时获取name的值,以获取firstname&lastname并将其分配给user\u firstname&user\u lastname

class UserSerializer(serializers.ModelSerializer):
    name = serializers.CharField(source='get_name')
    class Meta:
        model = UserInfo
        fields = ['user_id','name']