Форум сайта python.su
Доброе время суток!
Имеется несколько связанных между собой моделей:
class ModelA(model.Models):
...
class ModelB1(model.Models):
...
mda=ForeignKey(ModelA)
...
class ModelB2(model.Models):
mda=ForeignKey(ModelA)
class ModelC(model.Models):
mdb=ForeignKey(ModelB2)
Отредактировано (Фев. 14, 2012 12:11:59)
Офлайн
class ModelB1(model.Models):
...
mda=ForeignKey(ModelA)
...
class ModelB2(model.Models):
mda=ForeignKey(ModelA)
class ModelA(model.Models):
...
class ModelB1(model.Models):
...
mda=ForeignKey(ModelA)
...
class ModelB2(model.Models):
mdb=ForeignKey(ModelB1)
class ModelC(model.Models):
mdc=ForeignKey(ModelB2)
Офлайн
хорошо, спасибо
Еще вопрос:
есть две таблицы
ModelA(…):
create_date=models.DateField(unique=True)
…
ModelB(…):
create_date=models.DateField(unique=True)
…
Можно ли связать эти таблицы по дате с помощью django orm?
Офлайн
Что значит связать? Вы хотите получить строку из таблицы А, дата которой соответствует дате некой строки из таблицы В?
Если так, то Вы ищите сложности там, где их нет
ModelA(...):
create_date=models.DateField(unique=True)
...
ModelB(...):
create_date=models.DateField(unique=True)
...
some_date_B=ModelB.objects.get(create_date=my_date).create_date
some_record_A=ModelA.objects.get(create_date=some_date_B)
Офлайн
не, мне нужно получить не запись. Мне нужно получить итоговую таблицу для последующих манипуляций.
ModelA(...):
create_date=models.DateField(unique=True)
summ=models.FloatField()
ModelB(...):
create_date=models.DateField(unique=True)
summ=model.FloatField()
Офлайн
если делать грубо и прямо - то завести третью таблицу, содержащую только даты, а create_date в моделях сделать foreign key, или, правильнее, OneToOneField.
Офлайн