Операционная ошибка 1054 Неизвестный столбец

class ProjectTimeAllocation(models.Model):
    id = models.IntegerField(primary_key=True)
    project_id = models.ForeignKey(Projects, models.DO_NOTHING, related_name='pj_id', blank=True, null=True)
    project_manager_id = models.ForeignKey(ProjectManagers, models.DO_NOTHING, blank=True, null=True)
    hours = models.IntegerField(blank=True, null=True)
    week = models.DateTimeField(blank=True, null=True)
    date_created = models.DateTimeField(auto_now=True, null=True)
    last_updated = models.DateTimeField(blank=True, null=True)


    class Meta:
        managed = False
        db_table = 'project_time_allocation'

views.py

def timeallocation(request, project_manager_id):
    #time_list = ProjectTimeAllocation.objects.order_by('-id')
    if request.method == "POST":
        form = ProjectTimeAllocationForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            #post.project_manager_id = project_manager_id
            post.save()
            messages.success(request, "Updated Time!")
            return HttpResponseRedirect('/dashboard/')
    else:
        form = ProjectTimeAllocationForm()
    return render(request, 'dashboard/timeallocation.html', {'form':form})

forms.py

class ProjectTimeAllocationForm(forms.ModelForm):
    week = forms.DateField(widget=forms.SelectDateWidget())



    class Meta:
        model = ProjectTimeAllocation       
        fields = (
            'hours',
            'week',
            'project_manager_id',
            'project_id',
            )
        widgets = {

        }
        labels = {

        }

Я получаю операционную ошибку (1054, "Неизвестный столбец project_id_id" в списке полей. Я не понимаю, откуда берется дополнительный _id? Я попытался очистить миграции и выполнить новые миграции.

1 ответ

Похоже, что django добавляет _id к ForeignKeys, и поэтому мне пришлось удалить _id из имени моего столбца в модели и в форме, а затем django снова добавил его, когда сгенерировал оператор вставки sql, и проблема теперь решена.

Другие вопросы по тегам