return self.create(self.validated_data)
def create(self, validated_data):
- return models.DeviceToken.objects.create(
+ obj, created = models.DeviceToken.objects.get_or_create(
user=self.context['request'].user,
token=validated_data['token'],
)
+ return obj
def destroy(self, validated_data):
models.DeviceToken.objects.filter(
--- /dev/null
+# Generated by Django 4.0.8 on 2025-09-03 12:56
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('push', '0005_devicetoken'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='devicetoken',
+ options={'ordering': ('-updated_at',)},
+ ),
+ migrations.AlterField(
+ model_name='devicetoken',
+ name='token',
+ field=models.CharField(max_length=1024, unique=True),
+ ),
+ ]
class DeviceToken(models.Model):
user = models.ForeignKey('auth.User', models.CASCADE)
- token = models.CharField(max_length=1024)
+ token = models.CharField(max_length=1024, unique=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)