Django Serializ的多个自然密钥

2024-10-02 14:25:51 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下模型:

class BankLoan(models.Model):
    amount=models.IntegerField()
    issued_to_account = models.ForeignKey(Account)
    issued_by = models.ForeignKey(BankOfficer)
    issue_date = models.DateField()

对于Django的序列化程序,看起来我只能有1natural_key。但是,我的场景需要2个外键。有人能帮忙吗?你知道吗


Tags: to模型bymodelmodelsaccountissueamount
1条回答
网友
1楼 · 发布于 2024-10-02 14:25:51

我问这个问题时犯了个错误。你知道吗

假设我有一个银行贷款对象

class BankLoan(models.Model):
    amount=models.IntegerField()
    issued_to_account = models.ForeignKey(Account)
    issued_by = models.ForeignKey(BankOfficer)
    issue_date = models.DateField()

对于Django序列化程序,我希望JSON输出

{
'pk' : 1, 
'amount' : 100.00, 
'issued_to_account' : 'john.doe', 
'issued_by' : 'bank_teller_jane',
'issue_date' : '2016-06-20 12:00:00'
}

我应该依赖于相关模型的natural_key方法,而不是专注于改变serializer上的内容。换句话说:

class Account(models.Model):
    def natural_key(self):
        return self.username

等等

相关问题 更多 >