개발중인 앱은 온라인 음식 주문에 관한 것입니다. 식당 주인은 식당에서 메뉴가있는 식당을 나열합니다. 이러한 시나리오를 위해 모델을 설계했습니다. 그러나 나는 NameError 오류가 발생하는 리뷰 모델에서 문제에 직면하고있다. 'Restaurant'은 Restaurant 클래스를 가져 오는 동안 정의되지 않았다.ImportError : name 'Restaurant'이 정의되지 않았습니다.
코드
레스토랑/models.py
class Restaurant(models.Model):
OPEN = 1
CLOSED = 2
OPENING_STATUS = (
(OPEN, 'open'),
(CLOSED, 'closed'),
)
owner = models.ForeignKey(User)
name = models.CharField(max_length=150, db_index=True)
slug = models.SlugField(max_length=150, db_index=True)
address = models.CharField(max_length=100)
city = models.CharField(max_length=100)
phone_number = models.PositiveIntegerField()
owner_email = models.EmailField()
opening_status = models.IntegerField(choices=OPENING_STATUS, default=OPEN)
website = models.URLField(max_length=300)
features = models.ManyToManyField(Choice, related_name="restaurants_features")
timings = models.ManyToManyField(Choice, related_name="restaurants_timings")
opening_from = models.TimeField()
opening_to = models.TimeField()
facebook_page = models.URLField(max_length=200)
twitter_handle = models.CharField(max_length=15, blank=True, null=True)
other_details = models.TextField()
# votes = models.IntegerField(choices=STARS, default=5)
class Menu(models.Model):
STARS = (
(1, 'one'),
(2, 'two'),
(3, 'three'),
(4, 'four'),
(5, 'five'),
)
menu_category = models.ForeignKey(Category, related_name="menu")
restaurant = models.ForeignKey(Restaurant)
name = models.CharField(max_length=120,db_index=True)
slug = models.SlugField(max_length=120,db_index=True)
image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=10,decimal_places=2)
stock = models.PositiveIntegerField()
vote = models.SmallIntegerField(choices=STARS, default=5)
리뷰/models.py
from restaurants.models import Restaurant # I am getting an error here
class Review(models.Model):
STARS = (
(1, 'one'),
(2, 'two'),
(3, 'three'),
(4, 'four'),
(5, 'five'),
)
vote = models.SmallIntegerField(choices=STARS, default=5)
user = models.ForeignKey(User)
restaurant = models.ForeignKey(Restaurant)
review = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.vote
이유는 이러한 오류는 무엇입니까?
또 하나의 질문입니다. 레스토랑에는 여러 개의 메뉴 항목이 있습니다. 사용자는 각 메뉴에 등급을 매기도록해야합니다 (평가가없는 평가 만 해당). 그런 기능을 위해 내 모델은 괜찮습니까?
표시된 코드는 NameError가 아니라 ImportError를 제공합니다. * 정확한 * 코드와 완전한 오류를 보여주십시오. –
죄송합니다. 나는 내 질문을 업데이트했다. ImportError입니다. 내 질문을 전체 코드로 업데이트하겠습니까? – pythonBeginner