Хранение истории местоположений в поле модели Django

Я пытаюсь сохранить несколько мест в поле модели Django, но я не совсем уверен, как это сделать. Я использую GeoDjango's PointField хранить последнее сообщенное местоположение.

class Tracker(models.Model):
    # Other fields..

    # srid 4326 is the WGS84 Spheroid used by GPS
    current_pos = models.PointField(editable=True, srid=4326)
    pos_hist = ?

Я смотрел на такие приложения, как django-field-history и аналогичные, но, похоже, они предназначены для того, чтобы администратор / пользователь мог отменить изменения, которые мне не нужны.

Другой метод, кажется, использует ForeignKey сделать отношения многих ко многим с Location модель, но я не могу понять, как это будет работать, как каждый Tracker будет иметь несколько Location модели в этой области, но было бы несколько Tracker s?

Я подхожу к этому с правильного направления или есть лучший путь? Заранее спасибо!

1 ответ

Решение

Вы определенно хотите Location модель с ForeignKey на Tracker,

Обратите внимание, что это не создаст отношения "многие ко многим", но "один ко многим", где tracker имеет много locations и location принадлежат одному tracker,

Другие вопросы по тегам