1
我剛剛按照教程爲Django 1.9安裝GeoDjango,我試圖編寫我的用戶模型,但我不確定哪些表應該從django.contrib.gis.db.models
而不是常規django.db.models
繼承。GeoDjango - 哪些表應該從django.contrib.gis.db.models繼承?
我正在做一個Customer
表具有PointField爲自己的位置,並從客戶繼承的表名爲Traveller
。我還有第三個表Equipment
,它有一個外鍵Traveller
。
我的繼承權是否正確?有沒有更好的方法來做到這一點?
from django.contrib.gis.db import models as gis_models
from django.db import models
class Customer(gis_models.Model):
user = gis_models.OneToOneField(
settings.AUTH_USER_MODEL,
on_delete=models.SET_NULL,
blank=True,
null=True
)
location = gis_models.CharField(max_length=100)
gis_location = gis_models.PointField(u"longitude/latitude",
geography=True, blank=True, null=True)
name = gis_models.CharField(max_length=100)
class Meta:
abstract = True
class Traveller(Customer):
will_travel = gis_models.NullBooleanField()
class Equipment(models.Model):
name = models.CharField(max_length=50)
description = models.CharField(max_length=100)
owner = models.ForeignKey(
'Traveller',
on_delete=models.SET_NULL,
null=True
)
感謝
完美,謝謝! –