Я недавно начал изучать Джанго и не могу найти ответ на простой вопрос.У меня есть 2 таблицы: клиент и адрес.
------------------
CLIENT |
------------------
ID |
NAME |
ADDRES_REF |
------------------
------------------
ADDRES |
------------------
ID |
NAME |
CITY |
COLLECTION |
------------------
Соотношение между ними: client.addres_ref = addres.collection.Чтобы выбрать все адреса клиентов с идентификатором, равным 123, я должен создать такой запрос:
select addres.name, addres.city from addres, client where client.addres_ref=addres.collection and client.id=123;
Конечно, возможно создать отношение «многие ко многим», но я не буду создавать дополнительную таблицу для него иизменить структуру таблиц.
class Addres(models.Model):
address = models.CharField(max_length=150)
city = models.ForeignKey(City)
class Client(models.Model):
addres =models.ManyToMany(Addres)
email =models.EmailField(blank=True)
name =models.CharField(max_length=50)
Возможно добавить ForeignKey (Клиент) в модель Адреса, но мне также нужна ссылка на Адреса из других моделей, таких как Пользователь, Работодатель ...создавать модели с отношениями из вышеуказанных таблиц.