| from django.db import models | |
| import secrets | |
| class APIClient(models.Model): | |
| name = models.CharField(max_length=100, unique=True) | |
| client_id = models.CharField(max_length=32, unique=True, editable=False) | |
| secret_key = models.CharField(max_length=64, editable=False) | |
| created_at = models.DateTimeField(auto_now_add=True) | |
| def save(self, *args, **kwargs): | |
| if not self.client_id: | |
| self.client_id = secrets.token_hex(16) | |
| if not self.secret_key: | |
| self.secret_key = secrets.token_hex(32) | |
| super().save(*args, **kwargs) | |
| def __str__(self): | |
| return self.name | |