-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。但是既然外键成为它自己的tablt的主键,我该如何执行这个查询呢?

4

1 回答 1

0

为什么不要身份证?ForeignKey 作为主键是没有意义的,因为这不是唯一的:外键的意义在于它是多对一的关系,所以许多 UserWidgetMappings 可以指向同一个 AuthUser,因此具有相同的值为user_id. 如果您不希望这样,您也许应该使用 OneToOneField 代替。

不过,我不明白您关于查询的其余问题:如果您将primary_key=True属性赋予user.

于 2013-10-21T12:24:58.450 回答