【发布时间】:2017-10-07 22:44:09
【问题描述】:
我目前正在做一个学校项目,我正在建立一个网站,让您对附近的餐馆(1-5 星)进行评分。唯一需要注意的是,我将根据位置向用户显示餐厅(例如,首先显示最近的餐厅),并且一旦他们对餐厅进行了评分,就再也不会向他们显示。
目前我有这样的想法
class User(models.Model):
username = models.CharField(primary_key=True, max_length=20)
location = models.SomeGeoPointField
...
class Restaurant(models.Model):
title = models.CharField(primary_key=True, max_length=20)
location = models.SomeGeoPointField
...
class Rating(models.Model):
for = models.ForeignKey(User, on_delete=models.CASCADE)
from = models.ForeignKey(Restaurant, on_delete=models.CASCADE)
rating = models.IntegerField()
我无法思考查询的外观,如果我使用not in 过滤掉现有评级,可能会对性能造成影响
【问题讨论】:
-
餐厅模型中还需要用户的外键,以便查看位置
-
@Exprator 想写一个更详细的例子吗?
标签: mysql django django-models django-orm