Django如何基于同一mod中的另一个字段创建字段

2024-04-26 22:09:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为每个人创建一个字段,用函数pinyin()(正在运行并测试)存储该人姓名的拼音(将汉字翻译成字母)。但我似乎无法基于同一模型中的name字段创建字段name_pinyin。这是解决这个问题的正确方法吗?提前谢谢

from django.db import models
from xpinyin import Pinyin

class Person(models.Model):
    address = models.CharField(max_length500)
    name = models.CharField(max_length=200)
    name_pinyin = models.CharField(pinyin(name),max_length = 200)

    def pinyin(self):
        p=Pinyin()
        return p.get_Pinyin()(str(self),'') 
    #This is a function that returns pinyin of chinese characters

Tags: 函数namefrom模型importselfmodels字母
1条回答
网友
1楼 · 发布于 2024-04-26 22:09:27

您可以这样使用模型保存方法:

class Person(models.Model):
    address = models.CharField(max_length500)
    name = models.CharField(max_length=200)
    name_pinyin = models.CharField(pinyin(name),max_length = 200)

    def save(self, *args, **kwargs):
        self.name_pinyin = Pinyin(self.name)
        super(Person, self).save()

相关问题 更多 >