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

Cách hợp nhất hai mô hình django (bảng) thành một mô hình (bảng)

Di chuyển tùy chỉnh sẽ hoạt động.

  1. Bạn đã có mô hình A và B, vì vậy hãy tạo mô hình C với các trường bạn muốn từ hai mô hình.
  2. Thực hiện di chuyển giản đồ bình thường, ví dụ:management.py makemigrations ... và áp dụng cho bất kỳ thay đổi hiện có nào
  3. Tạo một di chuyển tùy chỉnh, ví dụ:python management.py makemigrations --empty yourappname (xem liên kết được chia sẻ bởi @ 2ps
  4. Chỉnh sửa tệp được tạo ở trên, tôi đã thêm một lần di chuyển dữ liệu mẫu bên dưới.
  5. rum management.py di chuyển để áp dụng di chuyển từ bước 4 ở trên.
  6. Bỏ mô hình A và B nếu đó là mong muốn của bạn, tạo quá trình di chuyển và áp dụng và bạn sẽ tốt.

    ...

    def merge_models_ab(apps, schema_editor):
        A = apps.get_model("app_name", "A")
        B = apps.get_model("app_name", "B")
        C = apps.get_model("app_name", "C")
        #come up with some interesting ways to join A and B
        #iterate over join and insert into C
        #C.objects.create(...)
    

    ...

    class Migrations(migrations.Migration):
        dependencies = [
            ('app_name', 'some_prev_migrations'),
        ]
        operations = [
            migrations.RunPython(merge_models_ab),
        ]
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn unbuffered với MySQLi?

  2. Tại sao 2 truy vấn MySQL này trả về kết quả khác nhau

  3. PHP - Cách xác minh bản ghi đã xóa thành công

  4. Chọn tất cả các bản ghi không đáp ứng các điều kiện nhất định trong một bảng đã tham gia

  5. Á hậu gitlab:mysqld:Không thể đọc dir của '/etc/mysql/conf.d/'