Python 创建模型实例时,如何填充多个字段?
我想创建如下的模型实例:Python 创建模型实例时,如何填充多个字段?,python,django,django-orm,Python,Django,Django Orm,我想创建如下的模型实例: new_tweet = Tweet.objects.create(text = tweet_object.text, date = tweet_object.date, username = tweet_object.username, retweet = tweet_object.retweet.all(), is_ret = True) 在这之前一切都很顺利:retweet=tweet\u object.retweet.all()。它返回此错误:“retweet”
new_tweet = Tweet.objects.create(text = tweet_object.text, date = tweet_object.date, username = tweet_object.username, retweet = tweet_object.retweet.all(), is_ret = True)
在这之前一切都很顺利:retweet=tweet\u object.retweet.all()
。它返回此错误:“retweet”是此函数的无效关键字参数
这是一个很多领域。那么,在创建新模型实例时,如何填充此字段
顺便说一下,tweet\u object.retweet.all()
由许多retweet
对象组成
编辑:
型号:
class Tweet(models.Model):
text = models.CharField(max_length=140)
date = models.DateTimeField(auto_now_add=True)
username = models.CharField(max_length=140)
favourite = models.ManyToManyField(Favourite)
retweet = models.ManyToManyField(Retweet)
replies = models.ManyToManyField('Tweet')
is_ret = models.BooleanField(default=False)
def __unicode__(self):
return self.username
和tweet_对象,这只是另一条tweet:
tweet_object = Tweet.objects.get(id=tweet_id)
我认为应该先创建Tweet对象,然后再创建与转发的关系 有关更多信息,您可以在此处找到: 很简单:
tweet_object = Tweet.objects.get(id=tweet_id)
new_tweet = Tweet.objects.create(text = tweet_object.text, date = tweet_object.date, username = tweet_object.username, is_ret = True)
for retweet in tweet_object.retweet.all():
new_tweet.retweet.add(retweet)
new_tweet.save()
什么是tweet_对象?你能发布tweet模型吗?添加了tweet_对象和模型我认为你的
for
循环不会以这种方式工作。您不能在tweet\u对象中进行迭代。retweet
。在我看来:tweet\u object.retweet.all()
。甚至可以放弃for
循环:new\u tweet.retweet.add(tweet\u object.retweet.all())
代码示例中有一个输入错误。在for
循环中有tweet\u objects.retweet.all()
,但它应该是tweet\u object.retweet.all()
。它将抛出错误,因为未定义tweet\u对象。