2016-06-27 3 views
0

에 존재 나는 그 메시지가 "name"이라는 이름의 컬럼을 만들려고한다는 것을 의미하고 동일한 이름을 가진 컬럼이 이미 존재한다고 가정했다. 그래서 저는 모델이 존재하지 않았는지 확인하기 위해 모델을 보았습니다. 나는 그 문제가 무엇인지 이해하지 못한다. 여기 내 모델입니다. 오, 내가 마이그레이션을 실행하기 전에 먼저 마이 그 레이션을 실행했습니다. 그래서이 문제나는 다음과 같은 오류 django.db.utils.ProgrammingError 점점 계속 : 내가하려고하면 열 "이름을"관계 "는 blog_post"이미 내가</p> <pre><code>django.db.utils.ProgrammingError: column "name" of relation "blog_post" already exists </code></pre> <p>이제 다음과 같은 오류가 마이그레이션 내 장고 응용 프로그램

여기
class Post(models.Model): 

STATUS_CHOICES = (
    ('draft', 'Draft'), 
    ('published', 'Published'), 
) 
title = models.CharField(max_length=250, unique=True) 
slug = models.SlugField(max_length=250, 
         unique_for_date='publish') 
image = models.ImageField(upload_to=upload_location, 
          null=True, 
          blank=True, 
          height_field='height_field', 
          width_field='width_field') 
image_url = models.CharField(max_length=500, 
          null=True, 
          blank=True, 
          ) 
height_field = models.IntegerField(default=0, 
            null=True, 
            blank=True, 
            ) 
width_field = models.IntegerField(default=0, 
            null=True, 
            blank=True, 
           ) 
author = models.ForeignKey(User, 
          related_name='blog_posts', 
          null=True, 
          blank=True,) 
body = models.TextField(null=True, blank=True,) 
publish = models.DateTimeField(default=timezone.now) 
created = models.DateTimeField(auto_now_add=True) 
updated = models.DateTimeField(auto_now=True) 
status = models.CharField(max_length=10, 
          choices=STATUS_CHOICES, 
          default='draft') 
video = models.BooleanField(default=False) 
video_path = models.CharField(max_length=320, 
           null=True, 
           blank=True,) 
url = models.CharField(max_length=320, 
         null=True, 
         blank=True,) 
name = models.CharField(max_length=320, 
         null=True, 
         blank=True,) 

class Meta: 
    ordering = ('-publish',) 

def __str__(self): 
    return self.title 

def get_absolute_url(self): 
    return reverse('blog:post_detail', kwargs={"slug": self.slug}) 

objects = models.Manager() # The default manager. 
published = PublishedManager() # Our custom manager. 
tags = TaggableManager(blank=True) 

이 아닌 것은 내 views.py

def post_list(request, tag_slug=None): 
if request.user.is_staff or request.user.is_superuser: 
    object_list = Post.objects.all().order_by('-id') 
else: 
    object_list = Post.published.all().order_by('-id') 
articles = Article.objects.all()[:8] 
# latest_article = Post.published.latest('created') 

query = request.GET.get("q") 
if query: 
    object_list = object_list.filter(
     Q(title__icontains=query) | 
     Q(body__icontains=query) | 
     Q(tags__name__in=[query]) 
    ).distinct() 

tag = None 
if tag_slug: 
    tag = get_object_or_404(Tag, slug=tag_slug) 
    object_list = object_list.filter(tags__in=[tag]) 
paginator = Paginator(object_list, 15) # 3 posts in each page 
page = request.GET.get('page') 
try: 
    posts = paginator.page(page) 
except PageNotAnInteger: 
    # If page is not an integer deliver the first page 
    posts = paginator.page(1) 
except EmptyPage: 
    # If page is out of range deliver last page of results 
    posts = paginator.page(paginator.num_pages) 

css_left = 'col-xs-12 col-lg-12 col-centered' 
# css_right = 'col-xs-12 col-lg-3' 
template = 'blog/post/list.html' 
title = 'home' 
page_num = paginator.num_pages 
local = os.getenv('_system_name') 
context = { 
    'page': page, 
    'posts': posts, 
    'tag': tag, 
    'title': title, 
    'articles': articles, 
    'css_left': css_left, 
    'paginator': paginator, 
    'page_num': page_num, 
    'local': local, 
    'query': query 
    # 'css_right': css_right 
    # 'latest': latest_article 
} 
return render(request, template, context) 

이며, 여기에 역 추적

Running migrations: 
    Rendering model states... DONE 
    Applying blog.0008_auto_20160625_1708...Traceback (most recent call last): 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
psycopg2.ProgrammingError: column "name" of relation "blog_post" already exists 


The above exception was the direct cause of the following exception: 

Traceback (most recent call last): 
    File "./manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/core/management/__init__.py", line 345, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/core/management/base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 200, in handle 
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/migrations/executor.py", line 92, in migrate 
    self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/migrations/executor.py", line 121, in _migrate_all_forwards 
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/migrations/executor.py", line 198, in apply_migration 
    state = migration.apply(state, schema_editor) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/migrations/migration.py", line 123, in apply 
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/migrations/operations/fields.py", line 62, in database_forwards 
    field, 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 396, in add_field 
    self.execute(sql, params) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 110, in execute 
    cursor.execute(sql, params) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/backends/utils.py", line 79, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/utils.py", line 95, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise 
    raise value.with_traceback(tb) 
    File "/Users/ray/Desktop/myheroku/practice/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
django.db.utils.ProgrammingError: column "name" of relation "blog_post" already exists 

답변

2

나는 비슷한 문제가 있었다에게 있습니다. 단지 확인

./manage.py makemigrations 

다음

./manage.py migrate 
을 실행 :이 날

./manage.py migrate --fake 

후 근무