Форум сайта python.su
Добрый день. Нужно вывести из бд значения на страничку. Столкнулся с проблемой: при выводе значение с полем ManyToManyField выдает такое: app.AuthUser.None , хотя поле не пустое… модель:
class AuthUser(AbstractBaseUser, PermissionsMixin): alphanumeric = RegexValidator(r'^[0-9a-zA-Z]*$', message='Only alphanumeric characters are allowed.') username = models.CharField(unique=True, max_length=30, validators=[alphanumeric]) email = models.EmailField(verbose_name='email field', unique=True, max_length=255) first_name = models.CharField(max_length=50, null=True, blank=True) second_name = models.CharField(max_length=50, null=True, blank=True) last_name = models.CharField(max_length=50, null=True, blank=True) # date_joined = models.DateTimeField(auto_now_add=True) date_joined = models.DateTimeField(default=timezone.now()) is_active = models.BooleanField(default=True, null=False) is_staff = models.BooleanField(default=False, null=False) # profile_image = models.ImageField(upload_to='uploads', blank=False, default='/static/selfphoto.jpg') user_bio = models.TextField() perm = models.IntegerField(default=0) podr = models.IntegerField(default=0) dolznost = models.CharField(max_length=30, null=True, blank=True) objects = AuthUserManager() USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] def get_full_name(self): return '%s %s %s' .format(self.last_name, self.first_name, self.second_name) def get_short_name(self): return self.username def __str__(self): return '%s %s %s %s %s' % (self.last_name, self.first_name, self.second_name, self.podr, self.dolznost) class Karto(models.Model): idname = models.IntegerField(default=0, blank=True, null=True) datecreated = models.DateTimeField(default=timezone.now()) small = models.CharField(max_length=255, blank=True) file = models.FileField(upload_to='uploads', blank=True) soglas = models.ManyToManyField(AuthUser) madeby = models.CharField(max_length=30, blank=True, null=True) class Meta: ordering = ["idname"]
def docsupdocs(request, idname): args = {} args['perm'] = request.user.perm args['myq'] = Karto.objects.get(idname=idname) return render_to_response('self_docsupdocs.html', args, context_instance=RequestContext(request))
class KartoAdmin(admin.ModelAdmin): model = Karto fields = ['idname', 'small', 'file', 'datecreated', 'soglas', 'madeby'] filter_horizontal = ['soglas',]
{% block owned %} <p> allah </p> {{ myq.small }}<br> {{ myq.madeby }}<br> {{ myq.datecreated }}<br><br> {{ myq.soglas }} {% endblock %}
Офлайн
Я виже вы только добавили дополнительные поля. Почему не просто:
from django.contrib.auth.models import AbstractUser class User(AbstractUser):
Офлайн
не совсем пойму как это повлияет на результат и выход из проблемы…
Офлайн
app.AuthUser
А в settings у вас верно указанно названия приложения?
Офлайн
{{ myq.soglas_set.all }}
Офлайн
ihorgorobetsв сеттингс все норм
app.AuthUserА в settings у вас верно указанно названия приложения?
FishHookничего не выдает. если написать {{ myq.soglas.all }}, то выдаст , но в кривом виде: (приложение: фамилия имя отчество подр, должность), как мне избавиться от вывода приложения?
def __str__(self): return '%s %s %s %s %s' % (self.last_name, self.first_name, self.second_name, self.podr, self.dolznost)
Офлайн
Bad
def __str__(self):
def __unicode__(self):
Офлайн
FishHookу меня питон 3 как бы….
Bad
Офлайн
Xa_xoo{{ myq.soglas.all }} - это набор записей,
как мне избавиться от вывода приложения?
Офлайн