Начинающий вопрос Джанго об объектных отношениях - PullRequest
0 голосов
/ 15 мая 2011

У меня возникли проблемы с пониманием объектных отношений в Джанго.Я написал это:

 from django.db import models

class Community(models.Model):
    name = models.CharField(max_length=200) #arbitrary max length

class Category(models.Model):
    community = models.ForeignKey(Community)
    category = models.CharField(max_length=200) #arbitrary max length

class Detail_View(models.Model):
    category = models.ForeignKey(Category)
    detailView = models.CharField(max_length=200) #arbitrary max length
    website = models.CharField(max_length=200) #arbitrary max length

Каждое сообщество должно иметь несколько категорий, связанных с ним, и каждая категория должна иметь несколько Detail_View, связанных с ним.Я могу делать то, что хочу с сообществами, но как только я пытаюсь добавить категорию или подробный вид, он облажается.Например, если я говорю:

c = Community.objects.get(id=1)
c.category_set.create(category = "FooBar")

, я получаю сообщение об ошибке «DatabaseError: table Content_Management_System_category не имеет столбца с именем category»

Ответы [ 2 ]

2 голосов
/ 16 мая 2011

Возможно, вы не запускали python manage.py syncdb в последнее время, или вы это сделали, но вы изменили некоторые таблицы / модели. Определения моделей.

Попробуйте удалить свою базу данных, создать ее и снова запустить syncdb. То есть, если у вас там нет важных данных.

Вы также можете сделать python manage.py reset <appname>

0 голосов
/ 16 мая 2011

Звучит так, как будто вы забыли запустить syncdb после добавления Category и / или Detail_View в ваш models.py

Или из-за того, что у вас есть поле и имя таблицы - Категория, модели портятся.

Попробуйте изменить поле вашей категории на имя в классе Категория. То же самое с detail_view

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...