Я знаю, что это кажется слишком заданным вопросом в кругах Джанго, но я боюсь сказать, что я еще не нашел решения для этого.
Моя модель -
from djago.... import User
class InfoPersonal(models.Model):
...
person = models.OneToOneField(User)
Я попытался переопределить save_model () в определении администратора, а также переопределить save () в форме, но, похоже, ничего не работает.
Если бы вы автоматически добавляли данные в столбец ForeignKey или OneToOneField в модель, как бы вы это сделали?
def profile_creation_personal(request):
if request.method == 'POST': # If the form has been submitted...
form = PersonalForm(request.POST) # A form bound to the POST data
# form.person = request.user
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
form.save()
return HttpResponseRedirect('/done') # Redirect after POST
else:
form = PersonalForm() # An unbound form
return render_to_response('info/personal/profile_create.html', { 'form': form,})
class PersonalForm(ModelForm):
#hometown_id = ModelChoiceField(queryset=InfoReferenceCities.objects.all(),empty_label=None)
def save(self, *args, **kwargs):
self.person = request.user
super(PersonalForm, self).save(*args, **kwargs)
class Meta:
model = InfoPersonal
exclude = ('person',)
widgets = {'dateofbirth' : SelectDateWidget()}