2015-05-21 3 views
0

Я использую Generate для создания записи Django для добавления записи. Вот моя модель:Django автоматически заполняет детали пользователя

class MyModel(models.Model): 
    purpose = models.CharField(max_length=50) 
    is_visible = models.BooleanField(default=True) 
    created_by = models.ForeignKey(User) 

И мой Вид:

class MyModelAdd(CreateView): 
    model = MyModel 
    template_name = 'mymodeladd.html' 
    fields = ('id', 'purpose', 'is_visible') 

    def get_success_url(self): 
     return '/myapp/success' 

Как я заполнить поле CREATED_BY с вошедшего пользователя (request.user)?

ответ

1

Вы можете переопределить функцию form_valid.

class MyModelAdd(CreateView): 
    model = MyModel 
    template_name = 'mymodeladd.html' 
    fields = ('id', 'purpose', 'is_visible') 

    def form_valid(self, form): 
     form.instance.created_by = self.request.user 
     return super(MyModelAdd, self).form_valid(form) 
Смежные вопросы