Skip to content

Instantly share code, notes, and snippets.

@RobbiNespu
Last active November 11, 2021 05:47
Show Gist options
  • Save RobbiNespu/f8b35942d6941d847f20a2a8223df26e to your computer and use it in GitHub Desktop.
Save RobbiNespu/f8b35942d6941d847f20a2a8223df26e to your computer and use it in GitHub Desktop.
from django.contrib import admin
from .models import Post
# Register your models here.
admin.site.register(Post)
class PostAdmin(admin.ModelAdmin):
radio_fields = {"source": admin.VERTICAL}
# radio_fields = {"IndiewebSource": admin.VERTICAL}
from django.db import models
# Create your models here.
class IndiewebKind(models.Model):
kind = models.CharField(max_length=14)
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-date_added']
def __str__(self):
return self.kind
class IndiewebSource(models.Model):
source = models.CharField(max_length=14, default='website')
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-date_added']
def __str__(self):
return self.source
class Post(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField()
kind = models.ForeignKey(IndiewebKind, on_delete=models.CASCADE)
source = models.ForeignKey(IndiewebSource, on_delete=models.CASCADE, null=True)
intro = models.TextField(max_length=150)
body = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-date_added']
@RobbiNespu
Copy link
Author

simple patch:

From f44c8e33232a7a293d7cd79ad11089d3f160685b Mon Sep 17 00:00:00 2001
From: Robbi Nespu <[email protected]>
Date: Thu, 11 Nov 2021 13:30:15 +0800
Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20added=20indieweb=20source?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 db.sqlite3                                | Bin 151552 -> 155648 bytes
 website/admin.py                          |   8 +++++++-
 website/fixtures/0002_IndiewebSource.json | Bin 0 -> 1660 bytes
 website/migrations/0007_indiewebsource.py |  24 ++++++++++++++++++++++
 website/migrations/0008_post_source.py    |  19 +++++++++++++++++
 website/models.py                         |  13 +++++++++++-
 6 files changed, 62 insertions(+), 2 deletions(-)
 create mode 100644 website/fixtures/0002_IndiewebSource.json
 create mode 100644 website/migrations/0007_indiewebsource.py
 create mode 100644 website/migrations/0008_post_source.py

diff --git a/db.sqlite3 b/db.sqlite3
index 8e06eb46ca934d09f6e02f0c3e9d74e01dd33f73..d2689c2136f80e3b0f24acfefa27b3648caa12ce 100644
GIT binary patch
delta 1490
zcmZvc&u`mg7{~oIP7`}cpLC$5O{nC!PS<K{V#jfuWYE@PEsRy|q)mduMt(G=i_)Z3
z>#o2h31~YoKtn!Qf&<e!O$hA(io}rEU=k<BWk}lr5CRSyII!+7*m#{ZkfgQjSC*gW
z^E}V%=li_1t4!@Kb0s*aQ4}>sp7!<nM@MDQzRX@nM}WC#x_lDN++i*@G~WrPng}?l
z;H0*t=QoOmE{b9@v$ncnWHwee*O&B|7?UO?`{qPBElX)xjKq~hT#2WK2`6`OYNl8z
z6m>h$eyErh<%k+r6EW%75JA-zx=jcA4>35?hkxS({01-JW&9Y=;^#Qi2#I6(T;Lf;
z3U;gO$>224Mk64Ym!ljUG;c-^17kjj9tj3mvU3LKD13xJ;xBjyuac-aoWr+C%%d0#
z(7}mz%<iHYGdI0W>Y1hRAN(2b;cfgB-@~^si?f71g27>irh*f@1$Dz_cJaDH@D7-+
zQ<~eG^&a<*dj}dJ?psfFm<Ab`3*`6o>_G_9paN6SS9C+~v5mHDOXqWy<z5><M1urO
zu2ATKLVg;e;O<IQYJ6~RYuzE>r0Ke^xp5j(DB~n4?YDs;rvrcyn(JtD<(q4$G5h=N
zTGZpFo`repz&Z9F^MsMz2V6@3hx8DAlm653SKp4~v%c2`3K;QR^Gv`)m^U@wtE|Tj
zKl!6kxOCF`qymRw%=*3pSEh;;qu&3r%YQNq^$GIl^f%jW?GRk1Sjb5EH<nV8n(s7+
zt!fE^iI%iFop^3>f#W+}d2XEl&ySy|Q!iO3N>IC{=HLs`Jc<fguasbf-kNjyt+fh-
ztVbm{!@fH`>+*-ga7nY~S73xxoy)>QYrG8l;Q!&cd~um<#F{Dt-{1OdK4r(P?K1rE
ze0}k_%b!ZYJ1HZVUulj4nW>%zwM*^Rj$mgyWIZl}yB${ZD7&wgQUUeGDezr;JoD9E
zpnVR3U9epDL36V^?AL6aT_C-D!c--}NrC*renNXOSK(|?aP7QYt9oUWAgZ>%0&S=z
z%{>_3!n(wHx;^_g*Ru3-(GcOJWBUl#W{8}7fm__K@W+{hUeY%wPElki8~8pJaH=`V
zRl!M9!&+I_jm@>r!%9iV<g^%%#FBDCl*eeA8qvzR4P&*iTIunNrQ=FOROCcV4Liti
zYsOa5F!c33Zn7MaL^&Cc34M0b<)U%^^k#mKo1{dNswAmu80=`f{qAuiCuuUGh-y5p
X+NTxevlogdPpC0i+rh@u@4)vj)vK}-

delta 533
zcmZoTz}c{XbAq&>1p@<vDiEsxF(VL%Pt-AHwAh%igr8Z0^T%X%0mIFT3I{kh|B&Qi
z6XW2IVd8(ue}#WHe;I!_|1AC({#E>Ln*|ee_{I2FF^F;GrIyFXm!~EbXO^VK7vvY0
zOpejlV^o;jt*^i+IC+h}IwQyAEBe}!5?ny5IQSD8_}}rL=D)?imwy4!yhQ%0&4LA<
z{F4*y7mIN4Cou58<-f^)ihmFPeEu%}O8x|(tOx((1pg(>3cQt**#jJbZZqWFTp8P4
z#H_&YI+^_fNaQcyX4m_B8l1SEGYB!7GjQ2(uH?AOA;k8IO@uX<={s{b^8uzKjOUoz
z8O?bY@i=jx<aXnm$j}IM5d;AB{S#MJWo)*bz9xrJc6w|MBggcMIgIDFhbJ*^<YeK?
zVThl8+L1Ashs}`<tfi5`nSDABNUdHHBlmR1B*t*2a;NFqIgI68O|g#bAk$iE!KN{)
zPCu2y*gZWbmvM$jW?o5AzLG*oYDI~HpMQvgU#O4I^yECo(=5Qqm@-{Ahf$HMDF>)u
zU!Sp+efq=%Ms=Y6oe7K+!1~3o>DT1i%=qBH|F#2+ECS35+zQj#FED~a<p$Swh1-k|
YLIhym1ky@CthiaQ;XVK6|N9vQ01WDwJ^%m!

diff --git a/website/admin.py b/website/admin.py
index ef024eb..7e435e1 100644
--- a/website/admin.py
+++ b/website/admin.py
@@ -1,4 +1,10 @@
 from django.contrib import admin
 from .models import Post
+
+
 # Register your models here.
-admin.site.register(Post)
+class PostAdmin(admin.ModelAdmin):
+    radio_fields = {"source": admin.HORIZONTAL}
+
+
+admin.site.register(Post, PostAdmin)
diff --git a/website/fixtures/0002_IndiewebSource.json b/website/fixtures/0002_IndiewebSource.json
new file mode 100644
index 0000000000000000000000000000000000000000..8bfff9970c8c4136310fd11248cf6a046543c2ae
GIT binary patch
literal 1660
zcmd6n!A^rf5QhJ=iSJ-ID}e=4)93J{X^fSsO<QRS#zWIrxBYf0SkQQ=kPrepJG(o~
zd^<DyuLoV~LRUQ7TCy`wD`iSG(-L{?G@s0-$~9Mk<TJjrV~$*{WctuX&uBbdx9qL8
zI9dvSti3oZORVL`Jxy;)k8(Wvw*Q+??Z1}iQaw439~n~@Q(DJl6v!yl4R7_mLzfV<
z)sGeFmRJ*XBi(bZ;$>~`>e=ojrl#+Gk~AlOEn_{O<g2^aHwaIOvUz*|<!Im-!qA81
z2x({>qgK40&gWQA4YopTjcj@$8IhAd6a&Vgk&HVexuRZkINCmx(QEq1%GhP4t@q)v
gOgd#bBOeQ@d)+z5i0Td$laq$}{+pxio)gzK4}tT`m;e9(

literal 0
HcmV?d00001

diff --git a/website/migrations/0007_indiewebsource.py b/website/migrations/0007_indiewebsource.py
new file mode 100644
index 0000000..8817e93
--- /dev/null
+++ b/website/migrations/0007_indiewebsource.py
@@ -0,0 +1,24 @@
+# Generated by Django 3.2.9 on 2021-11-11 03:29
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('website', '0006_alter_post_intro'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='IndiewebSource',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('source', models.CharField(default='website', max_length=14)),
+                ('date_added', models.DateTimeField(auto_now_add=True)),
+            ],
+            options={
+                'ordering': ['-date_added'],
+            },
+        ),
+    ]
diff --git a/website/migrations/0008_post_source.py b/website/migrations/0008_post_source.py
new file mode 100644
index 0000000..c2d4657
--- /dev/null
+++ b/website/migrations/0008_post_source.py
@@ -0,0 +1,19 @@
+# Generated by Django 3.2.9 on 2021-11-11 03:31
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('website', '0007_indiewebsource'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='post',
+            name='source',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='website.indiewebsource'),
+        ),
+    ]
diff --git a/website/models.py b/website/models.py
index a602673..1404dba 100644
--- a/website/models.py
+++ b/website/models.py
@@ -13,14 +13,25 @@ class IndiewebKind(models.Model):
         return self.kind
 
 
+class IndiewebSource(models.Model):
+    source = models.CharField(max_length=14, default='website')
+    date_added = models.DateTimeField(auto_now_add=True)
+
+    class Meta:
+        ordering = ['-date_added']
+
+    def __str__(self):
+        return self.source
+
+
 class Post(models.Model):
     title = models.CharField(max_length=255)
     slug = models.SlugField()
     kind = models.ForeignKey(IndiewebKind, on_delete=models.CASCADE)
+    source = models.ForeignKey(IndiewebSource, on_delete=models.CASCADE,null=True)
     intro = models.TextField(max_length=150)
     body = models.TextField()
     date_added = models.DateTimeField(auto_now_add=True)
 
     class Meta:
         ordering = ['-date_added']
-
-- 
2.33.1.windows.1


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment