我看到一些有關(guān)此錯(cuò)誤的主題,但找不到答案。這是我的錯(cuò)誤:django.db.utils.IntegrityError: NOT NULL constraint failed: domain_analyse_practice.header_id我真的不明白為什么會(huì)發(fā)生此錯(cuò)誤。我的models.py:class Header(models.Model): name = models.CharField(max_length=40, null=False) description = models.CharField(max_length=500, null=False)class Practice(models.Model): nature = models.CharField(max_length=10, null=False) value = models.CharField(max_length=300, null=False) further = models.CharField(max_length=50, null=True, blank=True) header = models.ForeignKey(Header, on_delete=models.CASCADE) def value_cleaner(self): self.value = self.value.replace("‘","'").replace("’", "'") def __init__(self, *args, **kwargs): super(Practice, self).__init__() self.value_cleaner()這是我的init_db.py腳本,它負(fù)責(zé)填充數(shù)據(jù)庫:def init_practice_db(filename):with open('config/' + filename, newline='') as csv_file: reader = csv.reader(csv_file, delimiter=',', quotechar='|') i = 0 for row in reader: if i != 0: # Not the header row header_name = row[0] # Select the header in database with header name header = Header.objects.get(name=header_name) further = None nature = row[1].rstrip() value = row[2].rstrip() if row[3] != "None": further = further Practice.objects.create(nature=nature, value=value, further=further, header=header) i += 1如果缺少某些信息,請告訴我:)謝謝您的回答。
1 回答

一只斗牛犬
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
您沒有將任何參數(shù)傳遞給super(Practice, self).__init__()。試試這個(gè)
class Practice(models.Model):
...
def __init__(self, *args, **kwargs):
super(Practice, self).__init__(*args, **kwargs)
self.value_cleaner()
添加回答
舉報(bào)
0/150
提交
取消