У меня есть модель с:
class Material(models.Model):
name = models.CharField(_('name'), max_length=50)
description = models.TextField(_('description'), blank=True)
user = models.ForeignKey(User, default=None, blank= True, null = True)
class Essai_Temperature(models.Model):
name = models.ForeignKey(Material, verbose_name=_('name'))
nature_unit = models.ForeignKey(Property, verbose_name=_('category'))
user= models.ForeignKey(Material, related_name="user_set", default='0')
админ:
class Essai_TemperatureAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(Essai_TemperatureAdmin, self).queryset(request)
current_user = request.user
if current_user.is_superuser:
return qs
else:
return qs.filter(user=current_user)
Как вернуть qs.filter(user = current_user)?
в Essai_Temperature user
поля не работает
Как я могу получить доступ к полевому пользователю в Material?
Вы думаете об этом совершенно неправильно. Внешний ключ от Essai – это материал, а не пользователь, поэтому вы должны назвать его material
(и удалить related_name
, что является неправильным и запутанным).
Теперь вы можете следить за отношениями:
qs.filter(material__user=current_user)