将HerokuConnect模型设为Django自定义用户模型

时间:2019-07-17 09:26:30

标签: django-models salesforce heroku-postgres

我希望这个Heroku-Connect模型成为我的应用程序的自定义用户模型。 这意味着,在Salesforce中注册的供应商应该能够使用他们的vendor_code__c作为用户名登录

#models.py
class Vendor(hc_models.HerokuConnectModel):
    sf_object_name = 'Vendor__c'

    vendor_code = hc_models.ExternalID(sf_field_name='Vendor_Code__c', unique=True, upsert=False) # this should be the username
    sf_id = hc_models.fields.ID(db_column='sfid', db_index=True, editable=False, max_length=18, sf_field_name='ID', unique=True, upsert=False)
    name = hc_models.Text(sf_field_name='Name',  max_length=80)
    email = hc_models.Text(sf_field_name='Email__c',  max_length=80)

我尝试用多表继承来复制供应商模型,发现here

#models.py
class vendoruser(Vendor):
    hc_model = models.OneToOneField(Vendor, on_delete=models.CASCADE, to_field='vendor_code', parent_link=True, db_constraint=False)

想法是从这里扩展模型。我按照示例中的方法进行操作,但由于以下错误而立即被阻止

salesforce.vendoruser: (heroku_connect.E006) salesforce.vendoruser.sf_object_name 'Vendor__c' clashes with another model.
        HINT: Make sure your 'sf_object_name' is correct.

我也尝试过使用hc_models.OneToOneField或hc_models.ForeignKey,但它不受支持。 关于如何解决此问题的任何建议?

0 个答案:

没有答案