Привет, у меня в системе много пользователей, которые подразделяются на разные типы.Я хочу хранить детали адреса всех этих пользователей.Например, пользователь может быть студентом, школой или франчайзи.Все пользователи здесь могут иметь адресную информацию, связанную с ними.
from django.db import models
from django.contrib.auth.Models import User
class Address(models.Model):
user = models.OneToOneField(User)
address = models.TextField()
class Student(models.Model):
user_id = models.ForeignKey(User)
address = models.ForeignKey(Address)
class School(models.Model):
user_id = models.ForeignKey(User)
address = models.ForeignKey(Address)
contact_person_name = models.CharField(max_length=50)
В этом сценарии есть 2 ссылки на модель User - одну через user_id и другую через address.user, хотя они должны ссылаться натот же экземпляр.Плохо ли иметь дубликаты ссылок?
Я думал о том, чтобы пропустить чужую «пользовательскую» клавишу в Address, но я думаю, что адрес не может существовать без пользователя.Как лучше смоделировать это?