-1

私は以下のようなモデルを持っています/

class UserWidgetMapping(models.Model):
    user = models.ForeignKey(AuthUser)
    widget_string = models.CharField(max_length=600L)
    class Meta:
        db_table = 'user_widget_mapping'

クエリを実行するuser_widgets = UserWidgetMapping.objects.filter(user_id = user_id)と、というエラーがスローされます(1054, "Unknown column 'user_widget_mapping.id' in 'field list'")。Django が自動的にモデルに ID を自動的に割り当てることは知っていますが、このモデル内に ID は必要ありません。そのためには、属性を提供する必要がありますprimarykey = True。しかし、外部キーは独自のタブの主キーになるため、このクエリを実行するにはどうすればよいですか?

4

1 に答える 1

0

なんで身分証いらないの?ForeignKey が主キーであることは意味がありません。これは一意ではないためです。外部キーのポイントは、多対 1 の関係であるため、多くの UserWidgetMappings が同じ AuthUser を指し、同じ値を持つ可能性があることです。のためにuser_id。それが望ましくない場合は、代わりに OneToOneField を使用する必要があります。

ただし、クエリに関する質問の残りの部分は理解できません。primary_key=True属性を に指定した場合に何かが変わる理由がわかりませんuser

于 2013-10-21T12:24:58.450 に答える