2013-01-02 64 views
1
from django.db import models 
import datetime 

class User (models.Model): 
    user_name = models.CharField(max_length=200) 
    email = models.EmailField(blank=True, null=True) 
    url = models.URLField(blank=True, null=True) 
    joined_on = models.DateTimeField(default = datetime.datetime.now) 

    def __unicode__(self): 
     return self.user_name 

class Note (models.Model): 
    msg = models.TextField(max_length=2000) 
    user = models.ForeignKey(User) 
    pub_date = models.DateTimeField(default = datetime.datetime.now) 

    def __unicode__(self): 
     return self.msg[:40] 

这些是我的django模型。我可以在另一个内部启动一个Django模型对象吗

现在,我使用Django表单获取模型的数据。我想要做的就是将它们推入数据库。以下是我正在做的代码。

u = User(user_name="my name") 
n = Note(msg="hi", user=u) 
n.save() 

现在,我得到IntegrityError: note_note.user_id may not be NULL错误。

不过,我只是u.save()它没有显示这个错误(还有抛出一个RuntimeError警告的日期时间)

这是什么,我希望建立:

  1. 创建联系表单user_name,email,url,msg是字段(email,url不是强制性的)

  2. 将数据推送到db。

我要去的地方错了,它

回答

2

新对象的ID没有被定义,直到它已被保存如何解决。首先保存User对象,然后保存Note对象。

+0

其实,让我first..can你告诉我这个'空=真,空= TRUE;参数,应该完全考虑那些我要求 –

+0

Django的文档是一个很好的资源是什么。以下是您正在寻找的信息:https://docs.djangoproject.com/en/dev/ref/models/fields/ –

相关问题