2015-04-02 77 views
0

读入XML文件并使用新信息更新数据库。在验证XML数据之后,以及在更新/保存特定记录之前,将新数据与数据库记录进行比较是合理的。Django ORM update with unique = True

欲望是使用面向对象的方法。完成这项任务的最好方法是什么?

该模型的草图如下。请注意,唯一字段设置为true,这会限制创建Client对象的实例。

class BaseModel(models.Model): 

class Client(BaseModel): 

employee_id = models.CharField(max_length = 30, primary_key = True) 
name = models.CharField(max_length=30, db_index=True, null=False, blank=False) 

class Alias(BaseModel): 

client = models.ForeignKey(Client, related_name='aliases') 
ssn = models.CharField(max_length=255, db_index=True, unique=True) 
driver_lic = models.CharField(max_length=255, db_index=True, unique=True) 
+0

你希望做什么比较?只是这两个条目(SSN和驾驶执照)确实是独一无二的或其他什么? – devinformatics 2015-04-02 21:52:10

+0

XML文件中的SSN有可能被验证,但它与数据库中的SSN不同。在更新条目之前比较这两个数字可以写入标记可能的数据错误的日志文件。 – Aaron 2015-04-02 22:29:35

+0

您可以设计哪些字段用于匹配XML条目与数据库条目(如果有)以及哪些可用于从XML条目更新数据库中的条目? – devinformatics 2015-04-02 22:33:36

回答

0

这里是一个解决问题的办法:

保存XML书到一个单独的数据库。该方法从创建第二个数据库的settings.py文件开始。对多个数据库管理页面的支持有限。

还有其他方法吗?