Python 3.x 使用Django模型:连接模型字段
这在我看来很容易,但仍然无法完成。 这是我的模型,它按照我的意愿工作,尽管我承认它可以更好 ''' 从django.db导入模型 班主任(模型.模型): ''' 因此,问题是,我希望用户名字段自动填充firstname.lastname,而不是要求用户输入用户名,就像firstname+“.”lastname一样连接。在数据库中。我该怎么做Python 3.x 使用Django模型:连接模型字段,python-3.x,django,django-models,Python 3.x,Django,Django Models,这在我看来很容易,但仍然无法完成。 这是我的模型,它按照我的意愿工作,尽管我承认它可以更好 ''' 从django.db导入模型 班主任(模型.模型): ''' 因此,问题是,我希望用户名字段自动填充firstname.lastname,而不是要求用户输入用户名,就像firstname+“.”lastname一样连接。在数据库中。我该怎么做 感谢您的期待。正如@abdul aziz barkat所说的,不建议这样做,因为这可能会导致重复,但如果您仍然想这样做,一种方法是在模型中实现保存方法,如下
感谢您的期待。正如@abdul aziz barkat所说的,不建议这样做,因为这可能会导致重复,但如果您仍然想这样做,一种方法是在模型中实现
保存
方法,如下所示
def save(self,*args,**kwargs):
if self.username in (None,''):
self.usename = "%s.%s"%(self.first_name,self.last_name)
super().save(*args,**kwargs)
但是名字可能有空格?名称可能不是唯一的?虽然这很容易(在视图或表单代码中执行),但有许多EdgeCase。
def save(self,*args,**kwargs):
if self.username in (None,''):
self.usename = "%s.%s"%(self.first_name,self.last_name)
super().save(*args,**kwargs)