class Category(models.Model):
c_name = models.CharField(max_length=100)
class Item(models.Model):
"""外键关联到Category"""
i_name = models.CharField(max_length=100)
category = models.ForeignKey('Category', related_name='items',
null=True, blank=True)
表结构是这样, 要实现在页面上新建一个分类的时候, 可以在同一个页面新建/编辑这个分类包含的项目和项目具体信息
目前想到的做法是, 页面上有添加项目的按钮, 点击按钮的时候就通过Ajax在数据库中生成了新项目, 然后在保存分类的时候, 再把刚才的项目和分类做关联;
但这样做的问题是, 如果编辑/新建分类的时候刷新了页面, 或者其他原因没有最终点击保存的话, 数据库中会增加很多没有外键的Item数据
请问实现这个功能更好的解决办法是什么? 或者说有什么办法, 判断在分类没有成功保存的情况下, 回滚之前建立的项目?
페이지 디자인 로직이 변경될 수 있다고 생각합니다. 먼저 분류 정보를 개선하고 분류 정보를 저장한 다음 이 분류 정보에 항목을 추가하면 됩니다. 이처럼 프로젝트 정보 제출시에는 반드시 분류정보가 있어야 합니다.
말씀하신 상황에서 먼저 프로젝트를 생성한 후 카테고리를 지정하면 분류되지 않은 프로젝트가 분명히 존재하게 됩니다. 분류되지 않은 프로젝트를 모두 볼 수 있는 페이지를 추가하고 사용자가 카테고리를 설정할 수 있도록 하면 어떨까요?