Skip to main content
 首页 » 编程设计

python之Django 模型保存 self.field.rel.to.DoesNotExist

2024年08月29日31linjiqin

我多次发现(one、two)人们做的事情和我做的一样:

class TempUser(models.Model): 
    created = models.DateTimeField(auto_now_add=True) 
    modified = models.DateTimeField(auto_now=True) 
    bank_account = models.ForeignKey(BankAccount) 
 
    def save(self, *args, **kwargs): 
        if not self.bank_account: 
            bank_account = BankAccount() 
            bank_account.save() 
            self.bank_account = bank_account 
        super(TempUser, self).save(*args, **kwargs) 

但我遇到了下一个异常(exception):

 File "models.py", line 134, in main 
    fill_predefined_data() 
  File "models.py", line 121, in fill_predefined_data 
    user.save() 
  File "models.py", line 41, in save 
    if not self.bank_account: 
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 343, in __get__ 
    raise self.field.rel.to.DoesNotExist 
__main__.DoesNotExist 

请您参考如下方法:

您可以更改您的 TempUser 模型

bank_account = models.ForeignKey(BankAccount, null=True) 

或将您的条件更改为:

if not hasattr(self, 'bank_account'):