问题标签 [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.
asp.net - ASP.NET MVC“模型”目录:它有什么用?
默认的 ASP.NET MVC 项目设置了一个“模型”目录,我不知道我曾在我从事的少数 MVC 项目中使用过该目录。通常,我有一个单独的“库”项目来存储业务逻辑类。
现在我很好奇: 我是否因为不利用默认的 ASP.NET“模型”目录而遗漏了一些重要的东西? 是否有一些内置功能可以很好地使用它?
python - 使用 ManyToMany 字段区分 django 模型对象
我有一种情况,当数据库中的某些内容发生变化时,我需要通知一些用户。我的想法是捕捉pre_save
并post_save
发出信号并制作某种差异并邮寄。一般来说它工作得很好,但我不知道如何获得 m2m 字段的差异。
目前我有这样的事情:
Diff 函数应该适用于每个模型(在 mommet 我有四个模型类)。使用 deepcopy 我可以保存旧模型,但我不知道如何保存 m2m 字段,因为它们位于单独的表中(是的,我知道我可以获取这些数据,但是在执行的那一刻我不知道哪些字段是m2m,我不想为每个模型创建不同的插槽)。我想要的是通用解决方案,所以我可以稍后添加模型而不考虑通知部分。
我的计划是在清理插槽产生的差异之后调用get_data()
和clear_data()
函数。save()
这是这样做的好方法吗?有没有更好的办法?是否有 django 应用程序可以为我完成这项工作?
对不起,我的英语不是我的母语。
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 的评论进行了更新:
google-app-engine - App Engine 中键的 ListProperty 与多对多
作为一个假设的例子,我有一个模型 TodoItem 和一个模型 TodoList。一个 TodoList 有一个 TodoItem 的有序列表,任何一个 TodoItem 都可以属于任意数量的 TodoList(多对多)。除了 TodoList 中 TodoItem 的顺序之外,不需要存储有关它们关系的其他信息。在数据存储中表示这一点的最佳方式是什么?
有两种方法可以实现这一点 - 给 TodoList 类一个 db.Key 的 ListProperty,它将引用 TodoItem:
或制作一个包含订购信息的 ListItem 模型:
稍后我肯定会通过对模型进行非规范化来优化这一点,但是在优化前,任何一种表示都比另一种表示有优势吗?
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.
这是我的个人资料控制器:
有没有办法使这项工作?
django - 查询 django 多对多
我有
Foo
<=> FooGroup
<=>Bar
关系,其中<=>
代表 ManyToMany 字段。
如何检索Foo
特定Bar
实例的所有 s?
c# - 复合应用指南 (PRISM) 和模型
在解决方案/项目中,我应该将模型放在数据访问层的什么位置。例如,如果我有一个登录模块需要使用数据库中的用户表,并且我有一个 User.cs 模型。那个文件会去哪里。如果其他模块需要能够访问此 User.cs 以获取信息,那么我无法将其放入模块中。但后来我看不到这如何保持松散耦合。
c# - ASP.NET MVC - 使用 C# 将引用不同程序集的模型从控制器传递到视图
给定两个程序集:
项目
.web 项目.lib
project.web 程序集引用了包含一些业务逻辑的 project.lib。project.lib 中的一个简单类:
在 project.web.Controllers 中:
这是我有一些问题的部分。在很多示例项目中,我在视图中看到了以下内容(在本例中为 Index.aspx):
允许您像这样使用模型对象:
我还没有像示例那样工作,我必须这样做:
或者
为什么会这样?这种如此性的原因是什么?评论?建议?我的类定义如下所示:
ruby-on-rails - 为什么 attr_accessor 会破坏 Ruby on Rails 中此模型中的现有变量?
我最近被这个咬了,准确地知道发生了什么事情会发生这种情况会很有用,所以其他人会避免这个错误。
我有一个模型用户,其架构如下:
在 user.rb 类中,我有一个 attr_accessor 用于三种方法:
现在在我的用户控制器中,如果我有以下方法:
当我尝试使用此参数哈希中的内容创建新用户时:
返回的对象对于country
,town
和 postcodepostcode
值有空字符串,就像这样。
我可以看出 attr_accessor 方法正在破坏 Active Record 现有的访问器方法,因为当我将它们取出时一切正常,因此解决方案相当简单——只需取出它们即可。
但是这里到底发生了什么?
我在Rails API 文档中查看 Active Record和Ruby 自己的文档 aboutattr_accessor
,但我仍然对attr_accessor
这里的破坏方式有点模糊。
有没有人能够提供一些启示来阻止其他一些可怜的灵魂对此犯规?
php - Doctrine ORM:不尊重大小写的模型
我有一个名为 UserDegree 的 mysql 数据库表,当我尝试使用 Doctrine 导入回 PHP 时,它会生成一个模型名称 Userdegree,有没有办法解决这个问题?
我真的找不到任何好的学说文档。
谢谢!