Django tidak memunculkan kesalahan saat membuat objek tanpa meneruskan bidang yang diperlukan

Saya memiliki model Django seperti ini:

class Registration(models.Model):
    appId =models.CharField(max_length = 100)
    registeredUser = models.ForeignKey('auth.User', null=True, blank=True)

Ketika saya pergi ke antarmuka Django Shell menggunakan python manage.py Shell dan mencoba membuat objek Registrasi tanpa meneruskan bidang appId (yang merupakan bidang wajib) seperti ini:

Registration.objects.create(registeredUser = userobject)

Itu membuat objek Registrasi tanpa memberi saya kesalahan Anda tidak dapat menyetel appId (bidang yang tidak dapat dibatalkan) ke Tidak Ada!. Bagaimana hal itu terjadi?mengapa itu tidak memberi saya kesalahan?Apa yang saya lakukan salah atau saya melewatkan sesuatu?


person user1170793    schedule 03.08.2012    source sumber


Jawaban (1)


AppID objek Registrasi akan memiliki nilai '' (yaitu string kosong).

Lihat juga dokumen untuk opsi nol , Anda akan melihat bahwa tidak adanya opsi null tidak berarti bahwa bidang tersebut tidak dapat dibatalkan. Sebaliknya, null=True berarti nilai kosong disimpan sebagai NULL dalam database.

Jika Anda ingin menghindari string kosong, tambahkan aturan ke validasi bidang model tersebut, atau melalui formulir Anda.

person LaundroMat    schedule 03.08.2012