2009-09-03 3 views
1

есть что-то, что я хотел бы сделать.Django admin, inlines заполняет поле

У меня есть 4 класса:

class delivery(models.Model):   
     name= models.CharField(max_length=100) 
     date_join= models.DateField() 
     .... 

class Town(models.Model): 
     delivery_guy = models.ForeignKey(delivery) 
     name = models.CharField(max_length=100) 
     .... 

class message(models.Model): 
     title= models.CharField(max_length=100) 
     notes = models.CharField(max_length=200) 
     date= models.DateField() 
     .... 

class childs_of_message(models.Model): 
     message =models.ForeignKey(message) 
     delivery_guy = models.ForeignKey(delivery) 
     direction = models.ForeignKey(delivery) 
     people_name= models.CharField(max_length=100) 
     date= models.DateField() 
     .... 

Я не знаю, как плохо говорить об этом, моем английском бедных, город имеет delivery_guy, Послание есть город и Childs_of_message есть сообщение и рожает ,

В режиме Inlines im, показывающем сообщение типа «parent» и Childs_of_message, например «child-inlines-», в моем childs_of_message, я хотел бы, чтобы в select_ доставки показывался парень доставки по умолчанию из города (если в городе есть доставка плохо показать это доставка выбранного в SELECT, формы в режиме childs_of_message инлайн)

или

как плохо делают и ModelChoiceField (QuerySet ....) в моей инлайн форме администратора?

Спасибо :)

+0

я думаю, что это будет исправить мою проблему ... http://www.artfulcode.net/articles/runtime-choicefield-filtering-in-djangos-admin/ – Asinox

+0

Попытки @ перевод другого знака с моим ограниченными gr11 французскими : Я смотрю вашу проблему на странице в [link]. Я в порядке, что проблема в решении для вас .... (?????) пожалуйста, (читает ли laissez или что? Или может отправить?) ... пришлите мне ... функцию? – mpen

+1

@Mark: «Я прочитал вашу проблему и страницу artfulcode.net. Я согласен, что это, вероятно, решение для вас. Пожалуйста, дайте мне знать, если это сработает». – akaihola

ответ

0

, так как интерфейс администратора в Django только для доверенных пользователей я не уверен, что вы можете изменить QuerySet в виде modelchoicefield. он всегда будет показывать все применяемые объекты модели.

Что вы хотите сделать, это создать собственный интерфейс с формой django. то вы можете использовать начальную для полей формы на основе другой информации, которую вы имеете, когда форма инициализируется.

+0

Я 98% уверен, что вы * можете * изменить запрос. Вместо этого вы можете создать форму администратора, которая в значительной степени дает вам полный контроль ... – mpen

Смежные вопросы