首页 \ 问答 \ 如何扩展核心数据实体类(How to extend core data entity classes)

如何扩展核心数据实体类(How to extend core data entity classes)

我有一些使用Xcode生成的NSManagedObject的子类。 我为这些类编写了一些验证代码( validateForInsert: :),但每次更新数据模型并重新生成子类时,所有这些验证代码都会消失。 有些人建议我使用类别来扩展这些类而不是在其中编写代码,但根据苹果的文档,用类别覆盖方法是一种非常糟糕的做法,可能会导致未定义的行为。

我还尝试将这些生成的类子类化。 我有一个名为DBEntityOne的生成类,其子类称为EntityOne 。 EntityOne与EntityTwo具有一对一的关系,由DBEntityTwo (生成)和EntityTwo 。 但是,每当我尝试将EntityTwo与EntityOne实例关联时,我得到的是DBEntityTwo而不是EntityTwo

所以我该怎么做? 我应该放弃自动代码生成并自己编写所有实体类吗?


I have some subclasses of NSManagedObject generated using Xcode. I wrote some validation codes (validateForInsert:) to those classes, but every time I update the data model and regenerate the subclasses, all those validation codes disappear. Some people suggest me to use categories to extend these classes instead of writing codes in it, but according to apple's document, overriding methods with categories is a very bad practice and can lead to undefined behaviour.

I also tried to subclass those generated classes. I have a generated class called DBEntityOne and its subclass is called EntityOne. EntityOne has an one-to-one relationship with EntityTwo, which is represented by DBEntityTwo(generated) and EntityTwo. However, whenever I try to get the EntityTwo associated with an EntityOne instance, what I get is a DBEntityTwo instead of EntityTwo.

So what should I do? Should I give up the automatic code generation and write all the entity classes by myself?


原文:https://stackoverflow.com/questions/28291182
更新时间:2023-05-10 06:05

最满意答案

您可以使用

SESSION_COOKIE_AGE = 5 * 60

这适用于每个用户,也与用户是处于活动状态还是非活动状态无关。


You can use

SESSION_COOKIE_AGE = 5 * 60

This is for every user and also independent of whether user is active or inactive.

相关问答

更多
  • 实际上,大多数插件都需要“jQuery” - 而不是$ - 才能使用,然后在dmidz的答案中提供$自己。 因此,插入 var jQuery = django.jQuery; 在你的外部参考之前。 如果您正在加载一堆第三方jQuery插件,请将上面的代码放在插件前面的脚本标签中。 另请参阅我的问题五个月前如何在Django admin中为第三方外部jQuery插件提供$ Actually, most plugins will require "jQuery" - not $ - to be availab ...
  • 为了实现这一点, 并且在您的侧栏中有一个可用的“全部”链接(即显示全部而不是显示待定),您需要创建一个自定义列表过滤器,从django.contrib.admin.filters.SimpleListFilter继承并在默认情况下对'pending'进行过滤。 这些线条应该有效: from datetime import date from django.utils.translation import ugettext_lazy as _ from django.contrib.admin import ...
  • 要更改url中的默认管理员前缀,您需要首先在routing.yml更新,我想通过阅读您已经完成的注释,第二件事你需要在security.yml通过更改管理防火墙模式和access_control规则来更改它,如果在应用以下更改后,还需要清除缓存 路由 admin_area: resource: "@SonataAdminBundle/Resources/config/routing/sonata_admin.xml" prefix: /panel _sonata_admin: re ...
  • 通过编辑初始化程序解决: config.logout_link_path = :destroy_user_session_path Solved by editing initializer : config.logout_link_path = :destroy_user_session_path
  • 您需要创建自己的admin base_site.html模板来执行此操作。 最简单的方法是创建文件: //templates/admin/base_site.html 这应该是https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/base_site.html的副本 - 除了放置您的自定义标题: {% block branding %}

    ...

  • 在ApacheDS文档中记录了更改管理员帐户密码。 ldapmodify ,如果没有给定要用-f参数处理的文件,则等待来自标准输入的输入,在标准输入上希望具有修改的LDIF格式文件执行。 在你的情况下,这样的LDIF文件看起来像这样: dn: uid=admin,ou=system changetype: modify replace: userPassword userPassword: new-password Changing the admin account password is docume ...
  • 您可以使用 SESSION_COOKIE_AGE = 5 * 60 这适用于每个用户,也与用户是处于活动状态还是非活动状态无关。 You can use SESSION_COOKIE_AGE = 5 * 60 This is for every user and also independent of whether user is active or inactive.
  • 您可以覆盖管理模板。 您可能想要admin/base_site.html模板,并提供一个extrastyle块,其中包含您要注入模板的任何CSS。 你需要知道要覆盖哪些样式(有很多) - 当我这样做时,我只是找到了我想要改变的元素,并添加了样式,直到一切看起来都正确。 所以,假设你有一个模板目录(在TEMPLATE_DIRS设置),创建一个名为admin/base_site.html的文件,它可能是django/contrib/admin/templates/admin/base_site.html 。 例 ...
  • 因此,有两个可能的原因。 首先是你在到期前失去了会话。 SESSION_COOKIE_AGE默认为2周。 如果您的会话持续时间不长,请检查以确保您的后端未使用缓存或缓存未满(从而在其时间之前突然显示会话)。 您可以使用settings.SESSION_SAVE_EVERY_REQUEST强制在每个请求上刷新会话,但这可能会在繁忙的站点上出现性能问题。 另一种可能性是您已经将SESSION_COOKIE_AGE设置为有意义的小东西,但您现在希望管理cookie持续更长时间。 没有办法将管理会话超时与正常用户超 ...
  • 您可能需要将此行添加到urls.py文件中(导入所需的库) if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_URL) 完整说明https://docs.djangoproject.com/en/1.11/ ...

相关文章

更多

最新问答

更多
  • python的访问器方法有哪些
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。
  • 响应navi重叠h1和nav上的h1链接不起作用(Responsive navi overlaps h1 and navi links on h1 isn't working)
  • 在C中读取文件:“r”和“a +”标志的不同行为(Reading a File in C: different behavior for “r” and “a+” flags)
  • NFC提供什么样的带宽?(What Kind of Bandwidth does NFC Provide?)
  • 元素上的盒子阴影行为(box-shadow behaviour on elements)
  • Laravel检查是否存在记录(Laravel Checking If a Record Exists)
  • 设置base64图像的大小javascript - angularjs(set size of a base64 image javascript - angularjs)
  • 想学Linux 运维 深圳有哪个培训机构好一点
  • 为什么有时不需要在lambda中捕获一个常量变量?(Why is a const variable sometimes not required to be captured in a lambda?)
  • 在Framework 3.5中使用服务器标签<%=%>设置Visible属性(Set Visible property with server tag <%= %> in Framework 3.5)
  • AdoNetAppender中的log4net连接类型无效(log4net connection type invalid in AdoNetAppender)
  • 错误:发送后无法设置标题。(Error: Can't set headers after they are sent. authentication system)
  • 等待EC2实例重启(Wait for an EC2 instance to reboot)
  • 如何在红宝石中使用正则表达式?(How to do this in regex in ruby?)
  • 使用鼠标在OpenGL GLUT中绘制多边形(Draw a polygon in OpenGL GLUT with mouse)
  • 江民杀毒软件的KSysnon.sys模块是什么东西?
  • 处理器在传递到add_xpath()或add_value()时调用了什么顺序?(What order are processors called when passed into add_xpath() or add_value()?)
  • sp_updatestats是否导致SQL Server 2005中无法访问表?(Does sp_updatestats cause tables to be inaccessible in SQL Server 2005?)
  • 如何创建一个可以与持续运行的服务交互的CLI,类似于MySQL的shell?(How to create a CLI that can interact with a continuously running service, similar to MySQL's shell?)
  • AESGCM解密失败的MAC(AESGCM decryption failing with MAC)
  • SQL查询,其中字段不包含$ x(SQL Query Where Field DOES NOT Contain $x)
  • PerSession与PerCall(PerSession vs. PerCall)
  • C#:有两个构造函数的对象:如何限制哪些属性设置在一起?(C#: Object having two constructors: how to limit which properties are set together?)
  • 平衡一个精灵(Balancing a sprite)
  • n2cms Asp.net在“文件”菜单上给出错误(文件管理器)(n2cms Asp.net give error on Files menu (File Manager))
  • Zurb Foundation 4 - 嵌套网格对齐问题(Zurb Foundation 4 - Nested grid alignment issues)
  • 湖北京山哪里有修平板计算机的