PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Django OneToOneField dengan kemungkinan bidang kosong

Jika Anda menginginkan after_homework menjadi opsional, maka Anda harus menggunakan null=True dan blank=True .

class VideoGamePurchase(models.Model):
    bought_by = models.ForeignKey(Person)
    after_homework = models.OneToOneField(HomeWork, null=True, blank=True)

Anda tidak ingin primary_key=True untuk after_homework - yang akan membuat after_homework bidang kunci utama VideoGamePurchase model, yang tidak masuk akal jika bidangnya opsional.

Sepertinya migrasi Anda kacau karena Anda memiliki primary_key=True untuk after_homework lapangan sebelumnya. Perbaikan termudah adalah memulai dengan database baru, hapus migrasi untuk aplikasi itu, lalu jalankan kembali makemigrations dan migrate . Kali ini, migrasi akan secara otomatis membuat bidang kunci utama id untuk VideoGamePurchase model.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengelompokkan anak-anak dan orang tua dalam satu kueri?

  2. Tulis ke file dari RAISE NOTICE di postgresql

  3. Catat kueri postgresql tertentu menggunakan pg-promise

  4. Postgresql :Bagaimana cara memilih entri n persen (%) teratas dari setiap grup/kategori?

  5. postgresql - pemicu, perbarui stempel waktu pada pembaruan lapangan