Glad to help.

That's strange that you had to add that JS to your template--it should
be included automatically.  Looking at the admin default options:
http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/options.py#L202
it should be on every object add/edit page.

Maybe you defined a Media class in your admin class? Or you overrode
the wrong block in your template?  If you're overriding the block
"extrahead", make sure to put a {{ block.super }} in there, so it
includes anything that's been defined by parent templates.

-Jeff

On Dec 12, 2:32 pm, Eugene Mirotin <emiro...@gmail.com> wrote:
> Thank you very much for the help. It have finally solved the problem.
>
> BTW, one issue was left - the plus icon redirected to the creation
> page instead of opening popup.
> I've solved it by including the
> <script type="text/javascript" src="/media/js/admin/
> RelatedObjectLookups.js"></script>
> directly in my template, but it's strange since my template extends
> the "admin/change_form.html".
>
> On Dec 12, 9:05 pm, Jeff FW <jeff...@gmail.com> wrote:
>
> > You're passing your queryset in, but you're never using it in your
> > widget.  In my code, see how I have:
>
> > widgets.CategorySelect(
> >     categories=models.Category.objects.order_by('parent',
> > 'list_order')
> > ),
>
> > I don't have the code on hand for my CategorySelect widget, but I
> > remember that it takes "categories", and turns it into a list of
> > choices, which then get passed to Select.__init__() as "choices".
> > Since you're just using a Select() directly, you'd want to pass the
> > choices in there.  Here's a simple list comprehension that you may
> > have to adapt a little to do that:
>
> > [(t.id, unicode(t)) for t in queryset.all()]
>
> > That assumes that you add "queryset" as an argument to __init__(),
> > which you should probably do.
>
> > -Jeff
>
> > On Dec 12, 1:06 pm, Eugene Mirotin <emiro...@gmail.com> wrote:
>
> > > I was busy for several days and could give it a try only now. Thank
> > > you for the answer, but I still can't make it work.
> > > I have the model called Tournament and the model called
> > > TournamentResult which has foreign keys Team and Tournament.
>
> > > What I'm doing is a page for bulk upload of the results for the
> > > specific tournament that should be selected from the drop-down
>
> > > At the moment my code looks like this:
>
> > > class TournamentChoiceField(forms.ModelChoiceField):
> > >     def __init__(self, *args, **kwargs):
> > >         super(TournamentChoiceField, self).__init__(*args, **kwargs)
> > >         self.widget = admin_widgets.RelatedFieldWidgetWrapper(
> > >             forms.Select(),
> > >             TournamentResult._meta.get_field('tournament').rel,
> > >             admin.site,
> > >         )
>
> > > class UploadFormInitial(forms.Form):
> > >     tournament = TournamentChoiceField(Tournament.objects.all())
>
> > > But I don't see any values in the drop-down list.
>
> > > On Dec 9, 3:55 pm, Jeff FW <jeff...@gmail.com> wrote:
>
> > > > To get the plus icon back, you need to wrap the field in a
> > > > RelatedFieldWidgetWrapper.  Here's an example from my code--obviously,
> > > > you'll have to adapt it to fit your situation.
>
> > > > class CategoryChoiceField(forms.ModelChoiceField):
>
> > > >     def __init__(self, *args, **kwargs):
> > > >         super(CategoryChoiceField, self).__init__(*args, **kwargs)
> > > >         self.widget = widgets.RelatedFieldWidgetWrapper(
> > > >             widgets.c(
> > > >                 categories=models.Category.objects.order_by('parent',
> > > > 'list_order')),
> > > >             models.Category._meta.get_field('parent').rel,
> > > >             admin.site,
> > > >         )
>
> > > > -Jeff
>
> > > > On Dec 9, 6:50 am, Eugene Mirotin <emiro...@gmail.com> wrote:
>
> > > > > Well, looks that the ModelChoiceField solves the problem except of the
> > > > > plus icon
>
> > > > > On Dec 9, 12:34 pm, Eugene Mirotin <emiro...@gmail.com> wrote:
>
> > > > > > Hello. I'm working on the custom admin page  that will serve batch
> > > > > > items creation based on the uploaded file.
> > > > > > All these items should be linked to the single foreign key item.
> > > > > > This item should be selected on the form.
> > > > > > Of course, I can investigate the inner structure of the rendered 
> > > > > > admin
> > > > > > pages and mimic it my template, but it doesn't look DRY.
> > > > > > So I want to {% include %} the fieldset.html and pass the variable 
> > > > > > to
> > > > > > it that will make it to render the standard ForeignKey control (with
> > > > > > "+" icon).
> > > > > > Is there a legal way to do it?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to