Django 操作错误:迁移后没有此类列:blog\u post.user\u id

Django 操作错误:迁移后没有此类列:blog\u post.user\u id,django,operationalerror,Django,Operationalerror,我已经完成了djangogirls教程,遇到了一个错误:没有这样的专栏:blog\u post.user\u id 这在我的本地服务器上非常有效,但在推到pythonywhere之后,我得到了操作错误 我使用的是Django 1.9、Python 3.4.3 我已经完成了python manage.py makemigrations,在Bash控制台上成功地进行了迁移,但是我仍然在站点上收到了错误消息。 然后我又尝试了一次,结果“没有检测到任何更改”和“没有要进行的迁移” 这是我的模特 from

我已经完成了djangogirls教程,遇到了一个错误:没有这样的专栏:blog\u post.user\u id

这在我的本地服务器上非常有效,但在推到pythonywhere之后,我得到了操作错误

我使用的是Django 1.9、Python 3.4.3

我已经完成了python manage.py makemigrations,在Bash控制台上成功地进行了迁移,但是我仍然在站点上收到了错误消息。 然后我又尝试了一次,结果“没有检测到任何更改”和“没有要进行的迁移”

这是我的模特

from django.contrib.auth.models import User
from django.utils import timezone
from django.core.urlresolvers import reverse
from django.db import models
from django.db.models.signals import pre_save
from django.utils.text import slugify
from django.conf import settings

def upload_location(instance, filename):
    return "%s/%s" %(instance.id, filename)

class Post(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
    title = models.CharField(max_length=200)
    slug = models.SlugField(unique=True)
    image = models.ImageField(upload_to=upload_location,
        null=True, 
        blank=True, 
        width_field="width_field", 
        height_field="height_field")
    height_field = models.IntegerField(default=0)
    width_field = models.IntegerField(default=0)
    text = models.TextField()
    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)


def publish(self):
    self.published_date = timezone.now()
    self.save()

def __str__(self):
    return self.title

def get_absolute_url(self):
    return reversal("posts:detail", kwargs={"slug": self.slug})

def pre_save_post_receiver (sender, instance, *args, **kwargs):
    slug = slugify(instance.title)
    exists = Post.objects.filter(slug=slug).exists()
    if exists:
    slug = "%s-%s" %(slug, instance.id)
    instance.slug = slug

pre_save.connect(pre_save_post_receiver, sender=Post)
这是我的观点

from django.contrib import messages
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.utils import timezone
from .models import Post
from django.shortcuts import render, get_object_or_404, redirect
from .forms import PostForm



# Create your views here.
def post_list(request):
    posts =    Post.objects.filter(published_date__lte=timezone.now()).order_by('-published_date')
    paginator = Paginator(posts, 5) # Show 25 contacts per page
    page = request.GET.get('page')
    try:
        posts = paginator.page(page)
    except PageNotAnInteger:
    # If page is not an integer, deliver first page.
        posts = paginator.page(1)
    except EmptyPage:
    # If page is out of range (e.g. 9999), deliver last page of results.
        posts = paginator.page(paginator.num_pages)
    return render(request, 'blog/post_list.html', {'posts':posts})


def post_detail(request, pk):
    post = get_object_or_404(Post, pk=pk)
    return render(request, 'blog/post_detail.html', {'post': post})

def post_new(request):
    if not request.user.is_staff or not request.user.is_superuser:
        raise Http404
    if request.method == "POST":
        form = PostForm(request.POST, request.FILES or None)
        if form.is_valid():
            post = form.save(commit=False)
            post.user = request.user
            post.published_date = timezone.now()
            post.save()
            messages.success(request, "Awesome! Your new post was successfully created!")
            return redirect('post_detail', pk=post.pk)
    else:
        form = PostForm()
    return render(request, 'blog/post_edit.html', {'form': form})


def post_edit(request, pk):
    if not request.user.is_staff or not request.user.is_superuser:
        raise Http404
    post = get_object_or_404(Post, pk=pk)
    if request.method == "POST":
        form = PostForm(request.POST, request.FILES or None, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            post.user = request.user
            post.published_date = timezone.now()
            post.save()
            messages.success(request, "Awesome! Your new post was successfully edited!")
            return redirect('post_detail', pk=post.pk)
    else:

        form = PostForm(instance=post)
    return render(request, 'blog/post_edit.html', {'form': form})

def post_delete(request, pk):
    if not request.user.is_staff or not request.user.is_superuser:
        raise Http404
    post = get_object_or_404(Post, pk=pk)
    post.delete()
    messages.success(request, "That post was successfully deleted!")
    return redirect("post_list")
当我打开网页时,会显示blog_post错误。页面被卡住的那一行是我的post_list.html中的{%forpost-in-posts%}

{% extends 'blog/base.html' %}
    {% block content %}

    <div class='col-sm-7 col-sm-offset-3'>
    <div class="row">
    {% for post in posts %}
  <div class="col-sm-12">
    <div class="thumbnail">
    {% if post.image %}
      <img src="{{post.image.url}}" class='img-responsive img-rounded'  alt="...">
     {% endif %}

<div class="caption">
    <h3><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }} <small>{{ post.published_date|timesince }} ago</small></a></h3>
        <p><b>Author: {{ post.user }}</b></p>
        <p>{{ post.text|linebreaks|truncatechars:300 }}</p>
    <hr/>
        <p><a href="{% url 'post_detail' pk=post.pk %}" class="btn btn-primary" role="button">View</a> </p>
      </div>
    </div>
  </div>
{% endfor %}
    </div>

    <div class="pagination">
        <span class="step-links">
            {% if posts.has_previous %}
                <a href="?page={{ posts.previous_page_number }}">previous</a>
            {% endif %}

            <span class="current">
                Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
            </span>
            {% if posts.has_next %}
                <a href="?page={{ posts.next_page_number }}">next</a>
            {% endif %}
        </span>
    </div>

    </div>
{% endblock %}
这是我的post_list.html

{% extends 'blog/base.html' %}
    {% block content %}

    <div class='col-sm-7 col-sm-offset-3'>
    <div class="row">
    {% for post in posts %}
  <div class="col-sm-12">
    <div class="thumbnail">
    {% if post.image %}
      <img src="{{post.image.url}}" class='img-responsive img-rounded'  alt="...">
     {% endif %}

<div class="caption">
    <h3><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }} <small>{{ post.published_date|timesince }} ago</small></a></h3>
        <p><b>Author: {{ post.user }}</b></p>
        <p>{{ post.text|linebreaks|truncatechars:300 }}</p>
    <hr/>
        <p><a href="{% url 'post_detail' pk=post.pk %}" class="btn btn-primary" role="button">View</a> </p>
      </div>
    </div>
  </div>
{% endfor %}
    </div>

    <div class="pagination">
        <span class="step-links">
            {% if posts.has_previous %}
                <a href="?page={{ posts.previous_page_number }}">previous</a>
            {% endif %}

            <span class="current">
                Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
            </span>
            {% if posts.has_next %}
                <a href="?page={{ posts.next_page_number }}">next</a>
            {% endif %}
        </span>
    </div>

    </div>
{% endblock %}
{%extends'blog/base.html%}
{%block content%}
{posts%%中的post为%s}
{%if post.image%}
{%endif%}
作者:{{post.user}

{{post.text |换行符| truncatechars:300}


{%endfor%} {%if posts.has_previous%} {%endif%} 第{{posts.paginator.num_pages}页中的第{{posts.number}页。 {%if posts.has_next%} {%endif%} {%endblock%}
我已经删除了我的数据库,并用新的超级用户创建了一个新的数据库。当我从github推到Pythonywhere并运行迁移后重新加载页面时,仍然会收到此错误消息。
请告诉我如何修复此问题?

您能否提供运行迁移时所遇到错误的完整堆栈跟踪?文件“/Home/aldigitron/my first blog/myvenv/lib/python3.4/site packages/django/db…”感谢您的回复。当我运行迁移时,我得到了类似于。。。。return Database.Cursor.execute(self,query,param)django.db.utils.integrityyerror:UNIQUE constraint失败:blog_post.slugHmm,此处的注释字段将其截断。也许您可以将其添加到原始帖子中?您可以给出运行迁移时所遇到错误的完整堆栈跟踪吗?文件“/Home/aldigitron/my first blog/myvenv/lib/python3.4/site packages/django/db…”感谢您的回复。当我运行迁移时,我得到了类似于。。。。return Database.Cursor.execute(self,query,param)django.db.utils.integrityyerror:UNIQUE constraint失败:blog_post.slugHmm,此处的注释字段将其截断。也许你可以把它添加到原来的帖子里?