PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Django OneToOneField với trường trống có thể có

Nếu bạn muốn after_homework là trường tùy chọn, sau đó bạn nên sử dụng null=Trueblank=True .

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

Bạn không muốn primary_key=True cho after_homework - điều đó sẽ làm cho after_homework trường khóa chính của VideoGamePurchase mô hình, không có ý nghĩa nếu trường là tùy chọn.

Có vẻ như quá trình di chuyển của bạn bị rối vì bạn có primary_key=True cho after_homework trường trước đó. Cách khắc phục đơn giản nhất là bắt đầu với cơ sở dữ liệu mới, xóa các di chuyển cho ứng dụng đó, sau đó chạy lại makemigrationsmigrate . Lần này, quá trình di chuyển sẽ tự động tạo ra trường khóa chính id cho VideoGamePurchase mô hình.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. không tìm thấy mối quan hệ bằng cách sử dụng Postgres trong ứng dụng Eclipse Hibernate

  2. Làm thế nào để lấy danh sách các hàm trong cơ sở dữ liệu trong PostgreSQL cùng với các tham số của nó?

  3. PostgreSQL:làm cách nào để đặt search_path từ bên trong một hàm?

  4. Cách hoạt động của Ceiling () trong PostgreSQL

  5. Có PHP mysql_real_escape_string cho postgresql không?