小编Sau*_*mar的帖子

Django QuerySet update_or_create创建重复条目

最近,我在update_or_create方法中遇到问题。首先让我给出完整的解释。

模型:

class TransactionPageVisits(models.Model):
    transactionid = models.ForeignKey(
        Transaction,
        on_delete=models.CASCADE,
        db_column='transactionid',
    )
    sessionid = models.CharField(max_length=40, db_index=True)
    ip_address = models.CharField(max_length=39, editable=False)
    user_agent = models.TextField(null=True, editable=False)
    page = models.CharField(max_length=100, null=True, db_index=True)
    method = models.CharField(max_length=20, null=True)
    url = models.TextField(null=False, editable=False)
    created_dtm = models.DateTimeField(auto_now_add=True)

    class Meta(object):
        ordering = ('created_dtm',)
Run Code Online (Sandbox Code Playgroud)

功能:

def _tracking(self, request, response, **kwargs):
    txn_details = kwargs.get('txn_details')
    data = {
        'sessionid': request.session.session_key,
        'ip_address': get_ip_address(request),
        'user_agent': get_user_agent(request),
        'method': request.method,
        'url': request.build_absolute_uri(),
        'transactionid': txn_details.txn_object,
        'page': kwargs.get('page')
    }

    # Keep updating/creating tracking data …
Run Code Online (Sandbox Code Playgroud)

django django-queryset

4
推荐指数
1
解决办法
2483
查看次数

标签 统计

django ×1

django-queryset ×1