Hi Andrew, I think you are right the queryset is a must. However how do I find the selected user inside the queryset, I don't want the logged in user. For example if I go to edit user ID 2 in the queryset I need to know that id so I can change the filter to find experiences only with that ID.
IE: class Recommendation(admin.StackedInline): model = Recommendation def queryset(self, request) qs = super(RecommendationInline, self).queryset(request) # now the code is already pulling the correct recommendations for the user, however the recommendations model has workexperience = models.ForeignKey(WorkExperience, verbose_name=_('work experience')) this is the field I need to filter based on the selected user ID. So the drop down in admin only gives the ability to add a recommendation to a work experience the selected user has linked to his/her profile. This might sound more complicated then it really is here is a better example of how I would like things to work: 1) Visit edit page for: Bruce Wade 2) Can view and add work experience for Bruce Wade on the edit profile page 3) Can view and add any recommendations linked to any work experience Bruce Wade has entered in step to. Because I need to select which work experience I want to add the recommendation for, there is a drop down for the foreignkey work experience. However it is listing everyone's work experience not just Bruce Wade's work experience to select from. Another idea (which I have no idea if it is possible) have recommendations inlined inside of work experience and have work experience inlined inside of profile. - Bruce On Thursday, December 6, 2012 12:30:13 AM UTC-8, Andrew Macgregor wrote: > > Hi, > > I think you may need to add a queryset() method on your InlineModelAdmin > and filter by user. > > > https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-options > > You can use the example from ModelAdmin: > > > https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.queryset > > - Andrew. > > > > On Thursday, December 6, 2012 2:50:43 PM UTC+8, Detectedstealth wrote: >> >> See the attachment. >> >> The dropdown is showing a work experience that was added by a different >> user. The dropdown should only show work experience that was entered for >> the user that is currently being edited. >> >> The purpose is to be able to add/edit recommendations that are linked to >> any work experience the selected user has entered. >> >> On Wednesday, December 5, 2012 9:38:37 PM UTC-8, Chris Cogdon wrote: >>> >>> When you say "recommendations inline lists work history from all users" >>> do you mean its showing up as multiple fields, or do you mean the selection >>> box that gives you the option of adding a recommendation from the list of >>> possible recommendations ? >>> >>> >>> On Wednesday, December 5, 2012 8:06:55 PM UTC-8, Detectedstealth wrote: >>>> >>>> Hi, >>>> >>>> I have a custom user who has work experience, and for each work >>>> experience there can be multiple recommendations for the work experience. >>>> >>>> My models: >>>> CustomUser >>>> >>>> class WorkExperience(models.Model): >>>> >>>> user = models.ForeignKey(CustomUser, verbose_name=_('user profile' >>>> )) >>>> >>>> company = models.CharField(_('company name'), max_length=150) >>>> >>>> location = models.CharField(_('job location'), max_length=150) >>>> >>>> position = models.CharField(_('position'), max_length=150) >>>> >>>> start_date = models.DateField(_('started position')) >>>> >>>> end_date = models.DateField(_('finished position'), null=True, >>>> blank=True) >>>> >>>> description = models.TextField(_('details'), help_text=_('Write a >>>> short description about your role and experience when at this position.' >>>> )) >>>> >>>> >>>> >>>> last_edited = models.DateTimeField(default=timezone.now) >>>> >>>> date_added = models.DateTimeField(default=timezone.now) >>>> >>>> >>>> >>>> def __unicode__(self): >>>> >>>> return "%s - %s" % (self.company, self.position) >>>> >>>> >>>> >>>> class Recommendation(models.Model): >>>> >>>> user = models.ForeignKey(CustomUser, verbose_name=_('recommended >>>> user')) >>>> >>>> workexperience = models.ForeignKey(WorkExperience, >>>> verbose_name=_('work >>>> experience')) >>>> >>>> details = models.TextField(_('recommendation')) >>>> >>>> approved = models.BooleanField(default=False) >>>> >>>> is_spam = models.BooleanField(default=False) >>>> >>>> date_added = models.DateTimeField(default=timezone.now) >>>> >>>> admin.py >>>> >>>> class ExperienceInline(admin.StackedInline): >>>> >>>> model = WorkExperience >>>> >>>> fieldsets = ( >>>> >>>> (None, { >>>> >>>> 'fields': ( >>>> >>>> 'company', >>>> >>>> 'position', >>>> >>>> 'location', >>>> >>>> ('start_date','end_date'), >>>> >>>> 'description' >>>> >>>> ) >>>> >>>> }), >>>> >>>> ) >>>> >>>> class RecommendationInline(admin.StackedInline): >>>> >>>> model = Recommendation >>>> >>>> class CustomUserAdmin(UserAdmin): >>>> >>>> ... >>>> inlines = [ExperienceInline, RecommendationInline] >>>> >>>> >>>> The problem is the recommendations inline lists work history from all >>>> users instead of showing only the work experience from the selected user. >>>> Is it possible to list only work experience belong to the selected user? >>>> >>>> -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/T0TerTGZGmgJ. 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.