/ / Django първичен ключ картографиране ID - django, django-модели

Django първичен ключ id картографиране - django, django-модели

Аз съм модел като дадения по-долу /

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 автоматично присвоява идентификатор на модел, но не искам идентификатор в този модел. За това трябва да осигуря атрибут primarykey = True , Но тъй като външният ключ се превръща в първичен ключ на собствения му tablt, как мога да изпълня тази заявка?

Отговори:

0 за отговор № 1

Защо не искате лична карта? Няма смисъл ForeignKey да е основният ключ, защото това не е уникално: смисълът на чуждестранната ключа е, че тя е "много към един", толкова много UserWidgetMappings могат да сочат към същия AuthUser и така същата стойност за user_id, Ако не искате това, може би вместо това използвате OneToOneField.

Въпреки това не разбирам останалата част от въпроса ви относно заявката: не мога да разбера защо нещо би се променило, ако сте дали primary_key=True атрибут на user.