2015-02-07 2 views
0

Я пытаюсь создать модель набора элементов из таблицы промежуточных элементов, которую я создал для управления таблицей manytomany с использованием Django 1.7 и Python3.2.modelformset_factory: неизвестный столбец '<model> .id' в списке полей (таблица промежуточных данных)

Это моя промежуточная модель и учтите, что для «управляемого» установлено значение «False».

# models.py 
class Intermediary(models.Model): 
    sid = models.ForeignKey(Sellers, db_column='sid') 
    cid = models.ForeignKey(Competitors, db_column='cid') 
    date_joined = models.DateField(auto_now=True) 

class Meta: 
    managed = False 
    db_table = 'intermediary' 

Python оболочки:

>>> from django.forms.models import modelformset_factory 
>>> from myapp.models import Intermediary 
>>> IntermediaryFormSet = modelformset_factory(Intermediary) 
>>> formset = IntermediaryFormSet() 
>>> print(formset) 
>>> Traceback (most recent call last): 
    blablity-blah-blah 
    blablity-blah-blah 
    ... 
    django.db.utils.ProgrammingError: Unknown column 'intermediary.id' in 'field list'. 

Но как вы можете видеть, что нет столбца 'идентификатор' в моей модели. Я думаю, что этот столбец-призрак является неявным, созданным магией Django.

Я также получаю ту же фильтрацию ошибок по другой колонке:

IntermediaryFormSet = modelformset_factory(Intermediary, fields=('sid',)) 

я упускаю что-то?

ответ

0

Добавление первичного ключа к таблице модели и sql позволило решить мою проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^