2012-02-07 63 views
0

爲什麼它不起作用?與用戶模型對象相關的保存

models.py:

class Car(models.Model): 
    user = models.OneToOneField(User) 

views.py:

def add_car(request, model): 
    new_car = Car(owner=request.user.id, model=model) 
    new_car.save() 

錯誤:

ValueError at /add/ 
Cannot assign "7L": "Car.user" must be a "User" instance. 

什麼是7L? 我的用戶名是7,當我寫print request.user.id它是我的7.

回答

3

你應該設置爲Car.user整個模型,而不僅僅是id。

new_car = Car(owner=request.user, model=model) 
+2

或者你可以做'owner_id = request.user.id',但它必須是id或id或object到object。你不能混合兩者。 – 2012-02-07 06:18:04