Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 3.x 使用Django模型:连接模型字段_Python 3.x_Django_Django Models - Fatal编程技术网

Python 3.x 使用Django模型:连接模型字段

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所说的,不建议这样做,因为这可能会导致重复,但如果您仍然想这样做,一种方法是在模型中实现保存方法,如下

这在我看来很容易,但仍然无法完成。 这是我的模型,它按照我的意愿工作,尽管我承认它可以更好

''' 从django.db导入模型

班主任(模型.模型):

''' 因此,问题是,我希望用户名字段自动填充firstname.lastname,而不是要求用户输入用户名,就像firstname+“.”lastname一样连接。在数据库中。我该怎么做


感谢您的期待。

正如@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)