繁体   English   中英

如何在 Django 模型中添加变量

[英]How to add variable in Django model

我想在 Django 模型中添加变量,但我不想在调用端点时将此变量返回给用户的同时将其保存到数据库中。

这是我在网上找到的,但问题是变量没有重新运行给用户

class User (models.Model):
   f_name = models.CharField(max_length=255)
   l_name = models.CharField(max_length=300)
   full_name = ''

当用户调用 api 时如何重新运行 full_name 给用户?

如果这是使用 Django Rest Framework,我不知道您的代码是如何设置的,但您需要扩展您的序列化程序:

向序列化程序添加一个新字段: full_name = serializers.SerializerMethodField()

向序列化程序添加一个方法:

def get_full_name(self, obj):
    return "{} {}".format(obj.first_name, obj.last_name)

注意:有不同的方式加入这些串在一起,用大量的@property在你的模型,fstrings等-由你来选择最适合您的需要(没有看到你的代码的其余部分()

您可以定义模型的property

class User (models.Model):
   f_name = models.CharField(max_length=255)
   l_name = models.CharField(max_length=300)

   @property
   def full_name(self):
       return self.f_name + self.l_name

现在您使用full_name与普通属性user.full_name相同的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM