[英]Django-How to create a field based on another field in the same model
我正在尝试使用功能pinyin()
(正在工作并经过测试)为每个人创建一个存储该人姓名的拼音(将汉字翻译成字母)的字段。 但是我似乎name_pinyin
基于同一模型中的名称字段来创建字段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
您可以使用模型保存方法,如下所示:
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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.