主キーのないテーブルが必要です(Djangoこれは自動的に作成されました)。したがって、私の質問は次のとおりですID /主キーなしでモデルを作成できますか?
Django 1.7を使用しています。
自動インクリメントキーなしでモデルを作成できますが、できません主キーなしで作成します。
Djangoの場合、明示的に設定したことがわかります
Field.primary_key
、自動ID列は追加されません。各モデルでは、
primary_key=True
(明示的に宣言されるか、自動的に追加されます)。
いいえ、できません。 documentation からの抜粋:
各モデルでは、primary_key = True(明示的に宣言されるか、自動的に追加される)を持つために、フィールドが1つだけ必要です。
解決策を見つけました。
Djangoには主キー(複合IDまたは単一フィールドIDのいずれか)が必要)なので、複合キーの組み合わせのすべてのフィールドにprimary_key = Trueを設定し、それらのフィールドをunique_togetherのメタとグループ
class ReportPvUv(models.Model):
report_id = models.ForeignKey(Reports, primary_key=True)
rdate = models.DateField(primary_key=True)
fdate = models.DateTimeField(primary_key=True)
ga_pv = models.BigIntegerField()
ga_uv = models.BigIntegerField()
ur_pv = models.BigIntegerField()
ur_uv = models.BigIntegerField()
da_pv = models.BigIntegerField()
da_uv = models.BigIntegerField()
class Meta:
db_table = 'report_pv_uv'
unique_together = ('report_id', 'rdate', 'fdate')
makemigrationsを実行すると、マイグレーションスクリプトにIDフィールドがありません:D
みんなありがとう