标签: models

在Rails中覆盖default_scope

在我的Post.rb模型中,我有 default_scope :conditions => {:deleted => 'false'}

但如果我试图跑Post.find(:all, :conditions => "deleted='false'"),它将不会返回任何东西.就像default_scope优先于所有内容一样.

我想要它,以便当我这样做Post.find()时不会返回已删除的帖子,但我也希望能够在需要时访问它们.在我的查询或我的Rails模型中需要更改什么?

谢谢.

ruby-on-rails models default-scope

19
推荐指数
2
解决办法
8237
查看次数

Rails - 如果另一个字段具有特定值,如何验证字段?

我是Rails的新手,我现在遇到了一个我无法用我的朋友谷歌解决的问题:)

在我的表格中,我有一个具有三个值的选择:Apple,BananaCherry.如果我从选择中选择Apple,则使用一些Javascript隐藏另一个Select-和Text-field,因为当选择Apple时,不再需要填写其他两个字段.

所以现在我在提交表单时验证表单时遇到问题.我发现了一些类似的问题,例如"如果另一个是空白则仅验证字段".

这个问题解决了这样:

validates_presence_of :mobile_number, :unless => :home_phone?
Run Code Online (Sandbox Code Playgroud)

所以我刚刚尝试了第一件突然出现的事情:

validates_presence_of :state, :granted_at, :if => :type != 1
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到此错误:

undefined method `validate' for true:TrueClass
Run Code Online (Sandbox Code Playgroud)

所以现在我没有找到如何从创建的对象中访问值...在预先感谢您的帮助,我希望我的问题不像听起来那么明显:-)

validation ruby-on-rails models ruby-on-rails-3

18
推荐指数
2
解决办法
1万
查看次数

ES6数据模型类

我正在尝试使用ES6类在我正在构建的API中构建数据模型(来自MySQL数据库).我不喜欢使用ORM/ODM库,因为这将是一个非常基本的简单API.但是,我很难理解如何定义这些模型.

我的数据实体(这些只是一些简化的例子):

顾客

数据模型

id
name
groupId
status (enum of: active, suspended, closed)
Run Code Online (Sandbox Code Playgroud)

私人方法

_getState(status) {
    var state = (status  == 'active' ? 'good' : 'bad');
    return state;
}
Run Code Online (Sandbox Code Playgroud)

要求

我希望能够做到:

  • findById:提供单个customer.id,返回该特定客户的数据,即 SELECT * FROM customers WHERE id = ?

  • findByGroupId:提供group.id,返回属于该组的所有客户(在一个对象数组中)的数据,即 SELECT * FROM customers WHERE groupId = ?

响应有效负载

对于每个客户对象,我想要返回这样的JSON:

findById(1);:

[{
    "id" : 1,
    "name" : "John Doe",
    "groupId" : 2,
    "status" : "active",
    "state" : "good"
}]
Run Code Online (Sandbox Code Playgroud)

findByGroupId(2);:

[{
    "id" : 1,
    "name" : "John …
Run Code Online (Sandbox Code Playgroud)

javascript api model-view-controller models ecmascript-6

18
推荐指数
1
解决办法
1万
查看次数

你能为Django自定义管理操作添加参数吗?

例如(不是这种情况,只是为了说明),如果我想添加一个动作来将所选项目中的特定字段设置为X.是否可以添加一个动作以允许输入X而不是硬编码?

python django admin models

17
推荐指数
2
解决办法
4326
查看次数

比较两个对象列表,以便在特定属性上进行更新,更改,更新

我一直在尝试和失败一段时间找到一个解决方案来比较基于对象属性的对象列表.我已经阅读了其他类似的解决方案,但它们要么不合适(或者我不理解答案!).

代码是C#

我有一个代表图像的模型

public class AccommodationImageModel
{
    public int Id { get; set; }
    public string Path { get; set; }
    public string Caption { get; set; }
    public string Description { get; set; }
    public bool CoverImage { get; set; }
    public bool Visible { get; set; }     
}
Run Code Online (Sandbox Code Playgroud)

我有两个这个模型的列表.一个是现有列表,另一个是更新列表.我需要比较两个列表,看看哪些已被删除,更新或是新的.

我不需要比较整个对象,只需在它们的属性Id上进行比较.

List<AccommodationImageModel> masterList;
List<AccommodationImageModel> compareList;
Run Code Online (Sandbox Code Playgroud)

如果compareList包含Id = 0的任何AccommodationImageModel,则它们是新的,因为新条目尚未分配Id.

要删除

如果masterList包含任何具有不在compareList中的Ids的AccommodationImageModel,那么它们将被删除,因为它们已从compareList中删除并应从masterList中删除.因此,我需要一个需要删除的列表.

要被更新

如果newList和masterList具有相同的Id,那么它们将被更新.因此,我需要一个共享相同ID的列表,所以我可以更新它们.我不太关心这些模型是否相同且不需要更新,因为每个列表只会有一个小数字,所以即使它们没有改变它们也会更新并不重要.

三个结果中的每一个都需要作为AccommodationImageModel列表返回,以便我可以执行相应的更新,删除,添加.

编辑

我在下面用我选择的ATM解决方案添加了3种测试方法,展示了它的工作实现.

测试方法

[TestMethod]
    public void Test_Deleted_Image()
    {
        // set up the masterList
        List<AccommodationImageModel> masterList …
Run Code Online (Sandbox Code Playgroud)

c# compare list object models

17
推荐指数
2
解决办法
2万
查看次数

在django中创建动态模型字段

这是关于django的问题.我有一个模特说"汽车".这将有一些基本字段,如"颜色","车辆所有者名称","车辆成本".

我想提供一个表单,用户可以根据他添加的汽车添加额外的字段.例如,如果用户正在添加"Car",则他将在运行时动态地在表单中添加额外字段,例如"Car Milage","Cal Manufacturer".假设用户想要添加"卡车",他将添加"可以携带的负载","允许"等.

我如何在django中实现这一目标?

这里有两个问题:

  1. 如何提供用户可以在运行时添加新字段的表单?
  2. 如何将字段添加到数据库中以便以后检索/查询?

django dynamic models

16
推荐指数
4
解决办法
2万
查看次数

Django Fixtures如何处理ManyToManyFields?

我正在尝试将来自clinicaltrials.gov的大约30k xml文件加载到mySQL数据库中,我处理多个位置,关键字等的方式是使用ManyToManyFields的单独模型.

我弄清楚的最好的方法是使用夹具读取数据.所以我的问题是,如何处理数据是指向另一个模型的指针的字段?

遗憾的是,我对ManyToMany/ForeignKeys的工作原理不了解,能够回答......

感谢您的帮助,示例代码如下:_ _代表ManyToMany字段

{
    "pk": trial_id,
    "model": trials.trial,
    "fields": {
            "trial_id": trial_id,
            "brief_title": brief_title,
            "official_title": official_title,
            "brief_summary": brief_summary,
            "detailed_Description": detailed_description,
            "overall_status": overall_status,
            "phase": phase,
            "enrollment": enrollment,
            "study_type": study_type,
            "condition": _______________,
            "elligibility": elligibility,
            "Criteria": ______________,
            "overall_contact": _______________,
            "location": ___________,
            "lastchanged_date": lastchanged_date,
            "firstreceived_date": firstreceived_date,
            "keyword": __________,
            "condition_mesh": condition_mesh,
    }
Run Code Online (Sandbox Code Playgroud)

}

django many-to-many fixtures models

16
推荐指数
1
解决办法
6636
查看次数

如何在I18n语言环境文件中指定模型之间的共享属性转换?

我尝试了以下方法:

es:
  activerecord:
    attributes:
      name: Nombre
Run Code Online (Sandbox Code Playgroud)

它没有用.

但以下工作:

es:
  activerecord:
    attributes:
      person:
        name: Nombre
Run Code Online (Sandbox Code Playgroud)

哪种方法可以跨模型定义默认属性?

我也在使用Formtastic和Active Admin.

activerecord locale ruby-on-rails internationalization models

15
推荐指数
2
解决办法
2809
查看次数

回滚所有rails迁移或删除表并修改迁移(从头开始)

我是Rails的新手,并开始了一个项目,我对我的模型和数据库模式不满意.

我想从头开始,但保留我的所有观点,控制器.

这样做的最佳方法是什么?

我想删除所有迁移和所有模型.此过程后应该没有不相关的文件(比如不再使用的迁移).

如果它有帮助,我正在使用Rails 3.1

谢谢!

ruby migration ruby-on-rails models ruby-on-rails-3

15
推荐指数
2
解决办法
2万
查看次数

Django错误.无法分配必须是实例

当我尝试在其中一个表中运行插入时,出现以下错误.

无法分配"1":"Team.department_id"必须是"部门"实例

不可否认,我有点不确定我是否正确使用外键概念.我正在尝试运行的插件和我的models.py中的一个片段如下所示.

我想要做的是当有人想要创建一个新团队时.他们必须将它附加到一个部门.因此,部门ID应该在两组表中.

new_team = Team(
    nickname = team_name,
    employee_id = employee_id,
    department_id = int(Department.objects.get(password = password, department_name = department_name).department_id)
)
Run Code Online (Sandbox Code Playgroud)

models.py

class Department(models.Model):  
    department_id = models.AutoField(auto_created=True, primary_key=True, default=1)  
    department_name = models.CharField(max_length=60)
    head_id = models.CharField(max_length=30)
    password = models.CharField(max_length=128)


class Team(models.Model):  
    team_id = models.AutoField(primary_key=True)
    department_id = models.ForeignKey('Department', related_name = 'Department_id')
    employee_id = models.CharField(max_length=30)
    nickname = models.CharField(max_length=60)
    team_image = models.ImageField(upload_to=get_image_path, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

在此处输入代码

python django foreign-keys models

15
推荐指数
2
解决办法
2万
查看次数