Django 完整性错误:yonetim_ders.ogretim_elemani_id可能不是NUL

Django 完整性错误:yonetim_ders.ogretim_elemani_id可能不是NUL,django,Django,My models.py: from django.db import models class OgretimElemani(models.Model): adi = models.CharField(max_length=50) soyadi = models.CharField(max_length=50) telefonu = models.CharField(max_length = 10 , blank=True) e_posta_adresi =

My models.py:

from django.db import models


class OgretimElemani(models.Model):
    adi = models.CharField(max_length=50)
    soyadi = models.CharField(max_length=50)
    telefonu = models.CharField(max_length = 10 , blank=True)
    e_posta_adresi = models.EmailField(blank=True)

    def __unicode__(self):
        return '%s %s' % (self.soyadi,self.adi)


class Ders(models.Model):
    kodu = models.CharField(max_length=10)
    adi = models.CharField(max_length=50)
    ogretim_elamani = models.ForeignKey(OgretimElemani)
    tanimi = models.CharField(max_length=1000,blank = True)

    def __unicode__(self): 
        return '%s %s %s' % (self.kodu,self.adi,self.ogretim_elamani)



class Ogrenci(models.Model):
    numarasi = models.IntegerField()
    adi = models.CharField(max_length=50)
    soyadi = models.CharField(max_length=50)
    aldigi_dersler = models.ManyToManyField(Ders)

    def __unicode__(self):  
        return '%s %s %s' % (self.soyadi,self.adi,self.aldigi_dersler)
Django shell:

>>>ders1=Ders(kodu='KIM101', adi='Kimya-1')
>>>ders1.ogretim_elemani=OgretimElemani[0]
>>>ders1.save()

IntegrityError : yonetim_ders.ogretim_elemani_id may not be NULL

必须分配已保存到数据库的
OgretimElemani
实例

例如,下面的方法应该有效

>>> ders1 = Ders(kodu='KIM101', adi='Kimya-1'
>>> ogretim_elemani = OgretimElemani.objects.all()[0] # fetch the first one from the database
>>> ders1.ogretim_elemani = ogretim_elemani
>>>ders1.save()     

您的示例不太清楚,因为您使用了
OgretimElemani[0]
。您不应该重复使用变量名
OgretimElemani
,这会使代码混乱。

感谢您的回答,但我已经找到了解决方案。。。我做了一次迁移“yonetim(这是我的应用程序名)”,成功了:)