我想在 Django 中创建一个简单的基于地理位置的应用程序。我想将用户的位置保留为他登录的最后一个纬度/经度。为此,我创建了一个Location类。为了存储额外的用户数据,我有一个UserProfile类。我也想将位置列保留在UserProfile中。
我可以想到三种实现方式——使用@staticmethod
、@property
或管理器。然后定义一个__unicode__
方法,该方法将返回一个包含最近日期的 lat/long 的列表。哪种方式最合适?以下是我的模型:
class Location(models.Model):
user = models.ForeignKey(User)
latitude = models.CharField(max_length=10)
longitude = models.CharField(max_length=10)
date = models.DateTimeField(auto_now_add = True)
class UserProfile(models.Model):
user = models.OneToOneField(User)
location = the_last_login_location
rating = models.IntegerField()