Я пытаюсь указать в форме пол UserProfile, который вошел в систему.
Это класс UserProfile:
class UserProfile(models.Model):
FEMALE = 'FEMALE'
MALE = 'MALE'
SEX = (
(MALE, 'Male'),
(FEMALE, 'Female'),
)
birth_date = models.DateField()
sex = models.CharField(max_length=5, choices=SEX, default=MALE)
def __str__(self):
return self.user.username
Вот представление:
@login_required
def add_post(request):
form = PostForm()
# A HTTP POST?
if request.method == 'POST':
form = PostForm(request.POST)
if form.is_valid():
profile = form.save(commit=False)
profile.user = request.user
profile.save()
return index(request)
else:
print(form.errors)
return render(request, 'rango/add_post.html', {'form': form})
PostForm:
class PostForm(forms.ModelForm):
discord = forms.CharField(max_length=500, help_text="Please enter the title of the post.")
post = forms.CharField(max_length=500, help_text="Please enter the post.")
telegram = forms.CharField(max_length=128, help_text="Please enter your telegram id.")
class Meta:
model = Post
exclude = ("user",)
Вот модель сообщения:
class Post(models.Model):
user = models.ForeignKey(to=User, on_delete=models.CASCADE)
discord = models.CharField(max_length= 500)
post = models.CharField(max_length= 500)
telegram = models.CharField(max_length=128)
def __str__(self): # For Python 2, use __unicode__ too
return self.post
Спасибо за каждый ответ!