[英]save a tuple to a django model
有沒有辦法將元組保存到 Django 模型?
例子:
Class User(models.Model):
location = models.tupleField()
其中User.location = (longitude, latitude)
也許您正在尋找GeoDjango 的 PointField :
from django.contrib.gis.db import models
Class User(models.Model):
location = models.PointField(help_text="Represented as (longitude, latitude)”)
老實說,我在 Django 文檔中沒有看到 tupleField。 我認為更好的方法是添加兩個字段longitude
和latitude
或創建另一個模型來存儲位置並在User
模型中添加ForeignKey
。
如果您覺得需要在單個字段中保存元組,您應該真正研究一下關系。 這就是它們被創建的原因。
舊答案:
這個答案假設您真的在保存位置。
如果您使用的是 PostgreSQL,則可以使用PostGIS 。 MySQL和 Oracle 具有內置的空間字段。
Django 已經支持地理數據。 例如——
from django.contrib.gis.db import models
class ModelName(models.Model):
centroid = models.GeometryField(blank=True, null=True)
然后您可以進行各種地理查詢(例如查找指定區域內的地點,按距離排序等),您的 DBMS 將處理它們。 此外,您可以從該單個字段訪問您的數據,例如 -
lat, long = [modelobject.centroid.x, modelobject.centroid.y]
# Or you can just use .x or .y directly
您可以在Geodjango 文檔 中閱讀有關它們的更多信息。
我推薦Django-Geoposition應用程序,此外,您可以在 Google 地圖中查看緯度和經度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.