35

Django モデルでは、常にプライマリ カラムを Id として取得します。変わる可能性はありますか。たとえば。City テーブルの主キー列をcity_id.

4

4 に答える 4

48
city_id = models.AutoField(primary_key=True)
于 2013-08-05T18:30:30.760 に答える
19

答えはイエスです。

このようなもの:

city_id = models.PositiveIntegerField(primary_key=True)

ここでは、id. ドキュメントはこちら

カスタム主キーを指定したい場合は、フィールドの 1 つで primary_key=True を指定するだけです。Field.primary_key を明示的に設定したことを Django が認識した場合、自動 ID 列は追加されません。

または、いつでもモデル プロパティを定義して、それを使用できます。例

class City(models.Model)
    #attributes
    @property
    def city_id(self):
        return self.id

city.city_id通常どおりにアクセスしますcity.id

于 2013-08-05T18:21:54.700 に答える
5

もちろん、できます。

city_id = models.BigIntegerField(primary_key=True)
于 2013-08-05T18:21:00.933 に答える