Как установить значение по умолчанию для атрибута модели? - PullRequest
0 голосов
/ 15 января 2019

Я создал модель, а затем модель-форму для ввода данных от пользователя. Я пытаюсь установить для автора значение по умолчанию для имени активного пользователя, но вместо этого значение по умолчанию устанавливается на имя пользователя admin. Пожалуйста, посмотрите на код.

models.py

from django.db import models
from django.contrib.auth.models import User
from datetime import datetime

class tweets(models.Model):
    def curr_user():
        for user in User.objects.all():
            if user.is_active:
                return user.get_username
    z = curr_user()
    k = datetime.now
    author = models.CharField(max_length = 50,default=z)
    date_time = models.DateTimeField(default = k)
    body = models.TextField()

    def __str__(self):
        return self.body

forms.py

from django import forms
from .models import tweets

class TweetsForm(forms.ModelForm):

    class Meta():
            model = tweets
        fields = "__all__"

1 Ответ

0 голосов
/ 15 января 2019

Проверьте, какой пользователь вошел в систему (я предполагаю, что это администратор), чтобы это легко проверить, перейдите в 'localhost: 8000 / admin' (работает только локально), затем выйдите из системы и войдите под именем пользователя 'autor'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...