Domanda

Sto lavorando per costruire un sito ecometrico con download digitali per fare ciò Ho bisogno di aggiungere un campo al modello del prodotto che so che il mezzanino consente l'iniezione di campi aggiuntivi, ma quando eseguo schemamigrazioni aggiunge il primo campo eNon aggiungere l'altro campo Qualcuno ha idee per il motivo per cui questo potrebbe accadere qui è la mia sezione dei modelli extra Bellow.

EXTRA_MODEL_FIELDS = (
    (
        "cartridge.shop.models.Order.callback_uuid",
        "django.db.models.CharField",
        (),
        {"blank" : False, "max_length" : 36, "default": ""},
    ),
    (
        "cartridge.shop.models.Product.download_file",
        "django.db.models.FileField",
        (),
        { "blank" : True, "upload_to" : "downloads", },
    ),
)
.

Quindi solo per essere cancellato il comando che sto usando è python manage.py schemamigration cartridge.shop --auto --stdout > content/migrations/0001_cartridge_shop_add_download_file.py

Dice che il campo callback_uuid è stato aggiunto ma questo esiste già in modo che va bene, quindi si blocca e non aggiunge download_file.

Qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

La risposta a questa domanda è quella di aggiungere un valore predefinito agli attributi che non funzionerà con un tipo nessuno, ma se lo passa una stringa vuota, funziona, funziona bene.

EXTRA_MODEL_FIELDS = (
    (
        "cartridge.shop.models.Order.callback_uuid",
        "django.db.models.CharField",
        (),
        {"blank" : False, "max_length" : 36, "default": ""},
    ),
    (
        "cartridge.shop.models.Product.download_file",
        "django.db.models.FileField",
        (),
        { "blank" : True, "default" : "" , "upload_to" : "downloads", },
    ),
)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top