问题标签 [models]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1400 浏览

asp.net - ASP.NET MVC“模型”目录:它有什么用?

默认的 ASP.NET MVC 项目设置了一个“模型”目录,我不知道我曾在我从事的少数 MVC 项目中使用过该目录。通常,我有一个单独的“库”项目来存储业务逻辑类。

现在我很好奇: 我是否因为不利用默认的 ASP.NET“模型”目录而遗漏了一些重要的东西? 是否有一些内置功能可以很好地使用它?

0 投票
1 回答
1664 浏览

python - 使用 ManyToMany 字段区分 django 模型对象

我有一种情况,当数据库中的某些内容发生变化时,我需要通知一些用户。我的想法是捕捉pre_savepost_save发出信号并制作某种差异并邮寄。一般来说它工作得很好,但我不知道如何获得 m2m 字段的差异。

目前我有这样的事情:

Diff 函数应该适用于每个模型(在 mommet 我有四个模型类)。使用 deepcopy 我可以保存旧模型,但我不知道如何保存 m2m 字段,因为它们位于单独的表中(是的,我知道我可以获取这些数据,但是在执行的那一刻我不知道哪些字段是m2m,我不想为每个模型创建不同的插槽)。我想要的是通用解决方案,所以我可以稍后添加模型而不考虑通知部分。

我的计划是在清理插槽产生的差异之后调用get_data()clear_data()函数。save()

这是这样做的好方法吗?有没有更好的办法?是否有 django 应用程序可以为我完成这项工作?

对不起,我的英语不是我的母语。

0 投票
1 回答
418 浏览

ruby-on-rails - Collection_select 问题

更新:已解决。谢谢忙马克!
编辑:这是根据 BushyMark 的以下回答进行修改的。我认为我正确地进行了所有建议的更改,但是当用户提交消息时,我仍然无法将 post_type_id 保存到数据库中。

我的应用程序有一个个人资料页面。在个人资料页面上,页面所有者可以键入更新并点击“提交”。更新消息出现时无需重新加载页面(即 Ajax)。

它基本上看起来像您的 Twitter 主页。但是,我们的用户在输入更新时也会选择一个消息“类型”。消息类型是一个预先填充的列表。我已将其作为模型并将其作为种子数据加载到应用程序中。

所以:有一个 profile 模型、一个 post 模型和一个 post_type 模型。

profile has_many :posts
post belongs_to :post_type
post_type has_many :posts
后模型也有这个:attr_accessible :message, :post_type_id

Routes.rb 看起来像这样:
map.resources :users, :has_one => :profile, :has_many => :posts
map.resources :post_types

帖子控制器有这种创建帖子的方法:

发生这一切的个人资料页面的“显示”视图如下所示:

这就是背景。这就是问题所在。使用我当前的设置,当用户提交他的消息时,消息被发送到帖子数据库表,但 post_id 没有。

我的选择标签呈现如下:
<select id="post_post_type_id" name="post[post_type_id]"><option value="">Please select</option>

这是我提交帖子时在日志中得到的输出:
Processing PostsController#create (for IP at 2009-09-03 03:03:08) [POST]

Parameters: {"message"=>"This is another test.", "commit"=>"Update", "action"=>"create", "authenticity_token"=>"redacted", "post"=>{"post_type_id"=>"3"}, "controller"=>"posts", "user_id"=>"1"}

User Load (0.3ms) SELECT * FROM "users" WHERE ("users"."id" = 1)

Profile Load (0.7ms) SELECT * FROM "profiles" WHERE ("profiles".user_id = 1) LIMIT 1

Post Create (0.5ms) INSERT INTO "posts" ("message", "updated_at", "post_type_id", "profile_id", "created_at") VALUES('Hello', '2009-09-03 20:40:24', NULL, 1, '2009-09-03 20:40:24')

这是我的架构的相关部分,根据 BushyMark 的评论进行了更新:

0 投票
3 回答
1304 浏览

google-app-engine - App Engine 中键的 ListProperty 与多对多

作为一个假设的例子,我有一个模型 TodoItem 和一个模型 TodoList。一个 TodoList 有一个 TodoItem 的有序列表,任何一个 TodoItem 都可以属于任意数量的 TodoList(多对多)。除了 TodoList 中 TodoItem 的顺序之外,不需要存储有关它们关系的其他信息。在数据存储中表示这一点的最佳方式是什么?

有两种方法可以实现这一点 - 给 TodoList 类一个 db.Key 的 ListProperty,它将引用 TodoItem:

或制作一个包含订购信息的 ListItem 模型:

稍后我肯定会通过对模型进行非规范化来优化这一点,但是在优化前,任何一种表示都比另一种表示有优势吗?

0 投票
1 回答
293 浏览

ruby-on-rails - 友好的 URL 问题,有点扭曲

我有一个用户模型和一个配置文件模型。

user has_one :profile profile belongs_to :user

由于这种关系,我通过调用用户 ID 来提取我的个人资料。所以我的网址看起来像这样:website.com/users/[user_id]/profile

我不确定我的问题是否有解决方案。这里是:我想显示 SEO 友好的 url。我正在考虑使用friendly_id这个。但是,我们的个人资料是针对企业的,它是我们希望在 url 中输入的企业名称。问题是我们的用户模型故意不要求提供公司名称,并且它是user_id当前显示在 url 中的。

有没有办法从配置文件模型中获取企业名称(即@profile.name),并使用它来填充 url 的 [user_id] 部分?

更新:我已经设置了friendly_id gem,看起来这可以工作。在我的个人资料模型中,我有这个:has_friendly_id :name, :use_slug => true

当我更新个人资料时,friendly_id确实通过将个人资料中的企业名称放入 url 的user_id一部分来对 url 进行 slugify。但是,当然,这引发了异常。

因此,如果配置文件模型中的企业名称是 Mike's Bar,则 url 现在显示为 /users/mike-s-bar/profile。例外情况是这样的:找不到用户ID=mike-s-bar.

这是我的个人资料控制器:

有没有办法使这项工作?

0 投票
1 回答
568 浏览

django - 查询 django 多对多

我有

Foo<=> FooGroup<=>Bar

关系,其中<=>代表 ManyToMany 字段。

如何检索Foo特定Bar实例的所有 s?

0 投票
1 回答
293 浏览

c# - 复合应用指南 (PRISM) 和模型

在解决方案/项目中,我应该将模型放在数据访问层的什么位置。例如,如果我有一个登录模块需要使用数据库中的用户表,并且我有一个 User.cs 模型。那个文件会去哪里。如果其他模块需要能够访问此 User.cs 以获取信息,那么我无法将其放入模块中。但后来我看不到这如何保持松散耦合。

0 投票
4 回答
3581 浏览

c# - ASP.NET MVC - 使用 C# 将引用不同程序集的模型从控制器传递到视图

给定两个程序集:

项目
.web 项目.lib

project.web 程序集引用了包含一些业务逻辑的 project.lib。project.lib 中的一个简单类:

在 project.web.Controllers 中:

这是我有一些问题的部分。在很多示例项目中,我在视图中看到了以下内容(在本例中为 Index.aspx):

允许您像这样使用模型对象:

我还没有像示例那样工作,我必须这样做:

或者

为什么会这样?这种如此性的原因是什么?评论?建议?我的类定义如下所示:

0 投票
3 回答
1024 浏览

ruby-on-rails - 为什么 attr_accessor 会破坏 Ruby on Rails 中此模型中的现有变量?

我最近被这个咬了,准确地知道发生了什么事情会发生这种情况会很有用,所以其他人会避免这个错误。

我有一个模型用户,其架构如下:

在 user.rb 类中,我有一个 attr_accessor 用于三种方法:

现在在我的用户控制器中,如果我有以下方法:

当我尝试使用此参数哈希中的内容创建新用户时:

返回的对象对于country,town和 postcodepostcode值有空字符串,就像这样。

我可以看出 attr_accessor 方法正在破坏 Active Record 现有的访问器方法,因为当我将它们取出时一切正常,因此解决方案相当简单——只需取出它们即可。

但是这里到底发生了什么?

我在Rails API 文档中查看 Active RecordRuby 自己的文档 aboutattr_accessor,但我仍然对attr_accessor这里的破坏方式有点模糊。

有没有人能够提供一些启示来阻止其他一些可怜的灵魂对此犯规?

0 投票
2 回答
1178 浏览

php - Doctrine ORM:不尊重大小写的模型

我有一个名为 UserDegree 的 mysql 数据库表,当我尝试使用 Doctrine 导入回 PHP 时,它会生成一个模型名称 Userdegree,有没有办法解决这个问题?

我真的找不到任何好的学说文档。

谢谢!