0
我刚刚开始一些django,我有一点麻烦,使这项工作。 我只想创建一个组,其中有成员和那些成员创建主题。现在,我在挣扎的地方是我不知道如何将主题添加到组中。Django的数据库模型is_valid
我如何通过showmessage(如果它是正确的)并将该主题与组相关联来制作主题。试图在人与人之间进行一些对话。以后我可以将人添加到对话中。 已经有些日子,我卡住帮助我!
我查看
def showcreate(request):
p = Group.objects.all()
return render(request,'messages/showcreate/showcreate.html',{ 'p':p})
def show(request, item):
items = item
p = Group.objects.all()
test='/show/'+item
print "showing item: 12, "+item
if request.method == 'POST':
form = showmessage(request.POST)
if form.is_valid():
print "here too : "+request.POST['q'] ***** This is me trying to make it work***
storyi = form.save(commit=False)
storyi.Topics.user = request.user
storyi.Topics.wichgroupe = request.POST['q']
storyi.save()
return HttpResponseRedirect(test)
else:
form=StoryForm()
return render(request,'messages/show/show.html',{ 'p':p,'item':items,'form':form})
网址
url(r'^show/(?P<item>\w+)', 'djangoproject.home.views.show', name='show'),
url(r'^/showcreate', 'djangoproject.home.views.showcreate' ,name='showcreate'),
型号
class Topic(models.Model):
user = models.ForeignKey(User)
postit = models.TextField(max_length=300)
comment = models.TextField(max_length=300)
createdat = models.DateTimeField(default=timezone.now)
wichgroupe = models.TextField(max_length=300, default="all")
def timer(self):
return self.createdat
def __str__(self): # __unicode__ on Python 2
return self.postit
class Group(models.Model):
name = models.CharField(max_length=100)
members = models.ManyToManyField(User)
Topics = models.ManyToManyField(Topic)
def __str__(self): # __unicode__ on Python 2
return self.name
形式:
class StoryForm(ModelForm):
class Meta:
model = Topic
exclude =('user','createdat','comment','wichgroupe')
class Grouping(ModelForm):
class Meta:
model = Group
exclude =('Topics','members')
class showmessage(ModelForm):
class Meta:
model = Group
exclude=('user','createdat','comment','wichgroupe','Topics','members','name')
哇,这是中国人给我的男人。哈哈:D 我的问题确实是它没有在组中。我会尽力遵循该文档。我已经阅读过那篇文章,但并不理解它:/我没有关于主题的ID主键,这是一个问题吗?既没有外键?也许这些可以帮助 – nokker
“id”主键在模型上自动设置,无需添加。既然你有一个M2M关系,Django负责创建一个带有外键的“中间”表,以表示你的模型。 – dylrei
对不起,但我仍然不知道它们如何自动连接:/什么是group_set?这是一个功能? (看着内联工厂的东西,但这并没有远) – nokker