Coverage for sm / migrations / 0002_invitation.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-24 12:43 +0000

1from django.conf import settings 

2from django.db import migrations, models 

3import django.db.models.deletion 

4import uuid 

5from django.utils import timezone 

6 

7 

8class Migration(migrations.Migration): 

9 dependencies = [ 

10 ("sm", "0001_initial"), 

11 ("auth", "0012_alter_user_first_name_max_length"), 

12 ] 

13 

14 operations = [ 

15 migrations.CreateModel( 

16 name="Invitation", 

17 fields=[ 

18 ( 

19 "id", 

20 models.BigAutoField( 

21 auto_created=True, 

22 primary_key=True, 

23 serialize=False, 

24 verbose_name="ID", 

25 ), 

26 ), 

27 ("email", models.EmailField(max_length=254)), 

28 ( 

29 "token", 

30 models.UUIDField(default=uuid.uuid4, unique=True), 

31 ), 

32 ("created_at", models.DateTimeField(default=timezone.now)), 

33 ("accepted_at", models.DateTimeField(blank=True, null=True)), 

34 ( 

35 "group", 

36 models.ForeignKey( 

37 on_delete=django.db.models.deletion.CASCADE, 

38 related_name="invitations", 

39 to="auth.group", 

40 ), 

41 ), 

42 ( 

43 "created_by", 

44 models.ForeignKey( 

45 null=True, 

46 on_delete=django.db.models.deletion.SET_NULL, 

47 related_name="invitations_sent", 

48 to=settings.AUTH_USER_MODEL, 

49 ), 

50 ), 

51 ], 

52 options={ 

53 "verbose_name": "Invitation", 

54 "verbose_name_plural": "Invitations", 

55 }, 

56 ), 

57 migrations.AddConstraint( 

58 model_name="invitation", 

59 constraint=models.UniqueConstraint( 

60 fields=("email", "group"), name="sm_invitation_email_group_unique" 

61 ), 

62 ), 

63 ]