diff --git a/ietf/community/models.py b/ietf/community/models.py index 399ebf3f9..5b8b0cfff 100644 --- a/ietf/community/models.py +++ b/ietf/community/models.py @@ -126,6 +126,9 @@ class Rule(models.Model): value = models.CharField( max_length=255) + class Meta: + unique_together= ("community_list", "rule_type", "value") + last_updated = models.DateTimeField( auto_now=True) diff --git a/ietf/community/views.py b/ietf/community/views.py index f24c1d8c3..78a01bb21 100644 --- a/ietf/community/views.py +++ b/ietf/community/views.py @@ -3,6 +3,7 @@ import uuid import datetime import hashlib from datetime import timedelta +from django.db import IntegrityError from django.conf import settings from django.contrib.auth import REDIRECT_FIELD_NAME @@ -25,7 +26,10 @@ def _manage_list(request, clist): rule_form = RuleForm(request.POST, clist=clist) display_form = DisplayForm(instance=display_config) if rule_form.is_valid(): - rule_form.save() + try: + rule_form.save() + except IntegrityError: + pass; rule_form = RuleForm(clist=clist) display_form = DisplayForm(instance=display_config) elif request.method == 'POST' and request.POST.get('save_display', None):