sql >> Databáze >  >> RDS >> Mysql

Jak sloučit dva modely django (tabulky) do jednoho modelu (tabulky)

Vlastní migrace by měla fungovat.

  1. Modely A a B již máte, takže vytvořte model C s požadovanými poli z těchto dvou modelů.
  2. Proveďte běžnou migraci schématu, např. manage.py makemigrations ... a požádat o jakékoli stávající změny
  3. Vytvořte vlastní migraci, např. python manage.py makemigrations --vyprázdněte název aplikace (viz odkaz sdílený @2ps
  4. Upravte výše vygenerovaný soubor, níže jsem přidal ukázkovou migraci dat.
  5. rum manage.py migrate, abyste použili migraci z kroku 4 výše.
  6. Zahoďte modely A a B, pokud si to přejete, vygenerujte migraci a požádejte o to, měli byste být dobří.

    ...

    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. Jak mohu získat seznam tabulek v uložené proceduře?

  2. Jak použít sum() v rámci group_concat()?

  3. Filtrujte prázdný nebo prázdný vstup pomocí LOAD DATA INFILE v MySQL

  4. Kompilátor Oracle pro*C a gnu C (__builtin_va_list, __attribute__ atd.)