diff --git a/models/base_model.py b/models/base_model.py index c36a945cc816..151bf211a9a6 100644 --- a/models/base_model.py +++ b/models/base_model.py @@ -15,11 +15,13 @@ class BaseModel: """A base class for all hbnb models""" - id = Column(String(60), nullable=False, primary_key=True) - created_at = Column(DateTime, nullable=False, - default=datetime.utcnow()) - updated_at = Column(DateTime, nullable=False, - default=datetime.utcnow()) + + if os.environ.get('HBNB_TYPE_STORAGE') == 'db': + id = Column(String(60), nullable=False, primary_key=True) + created_at = Column(DateTime, nullable=False, + default=datetime.utcnow()) + updated_at = Column(DateTime, nullable=False, + default=datetime.utcnow()) def __init__(self, *args, **kwargs): """Instatntiates a new model""" diff --git a/models/place.py b/models/place.py index d049629c08e6..7954753a55f7 100644 --- a/models/place.py +++ b/models/place.py @@ -52,13 +52,21 @@ class Place(BaseModel, Base): latitude = 0.0 longitude = 0.0 amenity_ids = [] - reviews = [] @property def reviews(self): """A getter for reviews""" - return [review for review in self.reviews if - review.place_id == self.id] + from models.review import Review + from models import storage + + reviews = storage.all(Review) + result = [] + + for review in reviews.values(): + if review.place_id == self.id: + result.append(review) + + return result @property def amenities(self): diff --git a/models/review.py b/models/review.py index 5fadc7383750..3c5fa7282f43 100644 --- a/models/review.py +++ b/models/review.py @@ -8,10 +8,15 @@ class Review(BaseModel, Base): """ Review classto store review information """ - __tablename__ = 'reviews' + if os.environ.get('HBNB_TYPE_STORAGE') == 'db': + __tablename__ = 'reviews' - place_id = Column(String(60), ForeignKey('places.id'), - nullable=False) - user_id = Column(String(60), ForeignKey('users.id'), - nullable=False) - text = Column(String(1024), nullable=False) + place_id = Column(String(60), ForeignKey('places.id'), + nullable=False) + user_id = Column(String(60), ForeignKey('users.id'), + nullable=False) + text = Column(String(1024), nullable=False) + else: + place_id = "" + user_id = "" + text = ""