123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- # Generated by Django 5.2.1 on 2025-06-05 21:16
- import django.db.models.deletion
- from django.conf import settings
- from django.db import migrations, models
- class Migration(migrations.Migration):
- initial = True
- dependencies = [
- ("accounts", "0002_interesttag_customuser_interests"),
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
- ]
- operations = [
- migrations.CreateModel(
- name="Group",
- fields=[
- (
- "id",
- models.BigAutoField(
- auto_created=True,
- primary_key=True,
- serialize=False,
- verbose_name="ID",
- ),
- ),
- (
- "name",
- models.CharField(
- max_length=100, unique=True, verbose_name="小组名称"
- ),
- ),
- ("description", models.TextField(blank=True, verbose_name="小组描述")),
- (
- "cover_image",
- models.ImageField(
- blank=True,
- null=True,
- upload_to="group_covers/",
- verbose_name="小组封面",
- ),
- ),
- (
- "created_at",
- models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
- ),
- (
- "updated_at",
- models.DateTimeField(auto_now=True, verbose_name="更新时间"),
- ),
- (
- "creator",
- models.ForeignKey(
- null=True,
- on_delete=django.db.models.deletion.SET_NULL,
- related_name="created_groups",
- to=settings.AUTH_USER_MODEL,
- verbose_name="创建者",
- ),
- ),
- (
- "tags",
- models.ManyToManyField(
- blank=True,
- related_name="groups_with_tag",
- to="accounts.interesttag",
- verbose_name="相关兴趣标签",
- ),
- ),
- ],
- options={
- "verbose_name": "小组",
- "verbose_name_plural": "小组们",
- "ordering": ["-created_at"],
- },
- ),
- migrations.CreateModel(
- name="Membership",
- fields=[
- (
- "id",
- models.BigAutoField(
- auto_created=True,
- primary_key=True,
- serialize=False,
- verbose_name="ID",
- ),
- ),
- (
- "date_joined",
- models.DateTimeField(auto_now_add=True, verbose_name="加入日期"),
- ),
- (
- "group",
- models.ForeignKey(
- on_delete=django.db.models.deletion.CASCADE,
- to="groups.group",
- verbose_name="小组",
- ),
- ),
- (
- "user",
- models.ForeignKey(
- on_delete=django.db.models.deletion.CASCADE,
- to=settings.AUTH_USER_MODEL,
- verbose_name="用户",
- ),
- ),
- ],
- options={
- "verbose_name": "小组成员关系",
- "verbose_name_plural": "小组成员关系们",
- "ordering": ["-date_joined"],
- "unique_together": {("user", "group")},
- },
- ),
- migrations.AddField(
- model_name="group",
- name="members",
- field=models.ManyToManyField(
- blank=True,
- related_name="joined_groups",
- through="groups.Membership",
- through_fields=("group", "user"),
- to=settings.AUTH_USER_MODEL,
- verbose_name="小组成员",
- ),
- ),
- ]
|