首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从用户输入中获取两个模型的数据?

如何从用户输入中获取两个模型的数据?
EN

Stack Overflow用户
提问于 2012-05-17 21:17:34
回答 1查看 290关注 0票数 0

问题是,我不能去这个模型,谁特别相信,用户将分配许多输入到模型,而许多我只分配一个输入到另一个模型。

其想法是从所有条目中获取所有数据,每个条目获得最后一个与级别相关的模型,请参见示例:

代码语言:javascript
复制
class User
    # a standard django.contrib.auth user model

class UserProfile(models.Model):
    # my AUTH_PROFILE_MODULE for django-profiles
    user = models.ForeignKey(User, unique=True)
    instance = models.ManyToManyField(Instance1)

class Model2(models.Model):
    user = models.ForeignKey(User)
    item0 = models.CharField(max_length=12)
    model2 = models.OneToOneField(Model2)

class Model3(models.Model):
    item1 = models.CharField(max_length=12)

user = request.user

Model2 - item1

  • item0= 1
  • item01= 2
  • item02= 3

Model3 - item2

  • item1= 4
  • item11= 5
  • item12= 6

因为我可以获得所有的item1和intem2表单Model2和Model3,使用配置文件并将其放入一个变量在模板中呈现所有的ManyToManyField -> (OneToOneField -> Item)?

我在努力:

代码语言:javascript
复制
myuser = request.user
items = UserProfile.objects.get(user=myuser)

去爬升查询。

EN

回答 1

Stack Overflow用户

发布于 2012-05-17 22:38:51

我想你可能混淆了模型和实例。您在这里定义的所有内容都只是一个蓝图或模板--您并不是真正地通过它们存储或访问数据。但是,您可以使用它们为数据提供结构,并创建此结构的实例。

例如,这里我定义了一个基本模型。在Django中,这些通常是在models.py中定义的

代码语言:javascript
复制
class MyModel(models.Model):
  name = models.CharField(max_length=20)
  element = models.CharField(max_length=12)

现在,我将使用一个称为构造函数的函数创建模型的实例。一般来说,您只使用模型的名称(ModelName(parameter=value,...))来称呼它。在Django中,这通常是views.py操作的一部分,但是您也可以通过导入所需的类(from models import Model)在Python中进行尝试。

这里我填充了10个MyModel实例

代码语言:javascript
复制
for i in range (0,10):
  m = MyModel(element="letter" + str(i), name="Instance"+ str(i))
  m.save() # this saves m in MyModel.objects

所有这些实例都是通过ModelName.objects.all()访问的,您可以通过通常的.表示法访问该字段:

代码语言:javascript
复制
models = MyModel.objects.all()
output = ""
for m in models:
  output += m.name + ":" + m.element

这样做并将其输出到浏览器需要更多的步骤--我强烈建议您一步一步地试用正式Django教程,以便更好地了解框架的工作原理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10643682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档