0

次のモデルを検討してください。

class Organisation(models.Model):
    ref = models.CharField(max_length=50, primary_key=True)
    type = models.IntegerField(choices=ORGANISATION_TYPE_CHOICES, blank=True, null=True)
    org_name = models.CharField(max_length=255)
    org_name_lang = models.CharField(max_length=255, blank=True, null=True)

    date_created = models.DateTimeField(auto_now_add=True, editable=False)
    date_updated = models.DateTimeField(auto_now=True, editable=False)

作成時にこのエラーが発生しますが、インスタンスは実際には保存されています:

django.db.utils.IntegrityError: (1048, "Column 'organistion_id' cannot be null")

作成を再度実行します。

django.db.utils.IntegrityError: (1062, "Duplicate entry 'GB-CHC-202918' for key 'PRIMARY'")

私は mysql を使用していますが、文字の主キーを使用したことがありません。

更新:解決済み(カスタム保存方法を持つ関連モデルがありました)

4

1 に答える 1

0

Django の各モデルには、id自動的に追加され、主キーとして使用されるフィールドもあります (自動主キー フィールドを参照してください)。主キーを指定するとDjangoはidフィールドを追加しませんが、このエラーが発生しているので、テーブルを作成した後に独自の主キーを追加したと思いますか?

その場合は、テーブルを削除して再作成するか ( syncdb)、データベース移行を追加してテーブル構造を変更します (たとえば、southを使用)。

于 2012-06-19T08:40:48.503 に答える